python socket编程实现的简单tcp迭代server

python socket编程实现的简单tcp迭代server

大家好,又见面了,我是全栈君,祝每个程序员都可以多学几门语言。

与c/c++ socket编程对照见http://blog.csdn.net/aspnet_lyc/article/details/38946915

server:

import socket

PORT    = 9999
BACKLOG = 5
MAXLINE = 1024

listenfd = socket.socket(socket.AF_INET,socket.SOCK_STREAM)
listenfd.bind(('',PORT))
listenfd.listen(BACKLOG)

while True:
	connfd, connaddr = listenfd.accept()
	print 'a new connection'
	buf = []
	buf = connfd.recv(MAXLINE)
	print buf
	connfd.send('Hello,this is server')
	connfd.close()

client:

import socket

addr = '127.0.0.1'
port = 9999
sockfd = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
sockfd.connect((addr, port))
sockfd.send('Hello,this is client')
buf = []

while True:
	recv_data = sockfd.recv(1024)
	if recv_data:
		buf.append(recv_data)
	else:
		break

data = ''.join(buf)
print data
sockfd.close()

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/118058.html原文链接:https://javaforall.net

赞 (0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • win7默认共享(win7开启默认共享)

    访问win7默认共享:HEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Policies\SystemDWORD值LocalAccountTokenFilterPolicy设置16数据值数据为1安全选项”,在右侧找到“网络安全:LAN管理器身份验证级别”,–选中“发送LM和NTLM响应(&)”

    2022年4月17日
  • recvfrom函数

    recvfrom函数RECV(2) LinuxProgrammer’sManual RECV(2)NAMErecv,recvfrom,recvmsg-receiveamessagefromasocketSYNOPSIS#include<sys/types.h>#include<sys/socket.h>ssize_trecv(intsockfd,void*buf,size_tlen,intflags);

    2022年7月23日
  • 清除Dns缓存_怎么清除ip地址缓存

    清除Dns缓存_怎么清除ip地址缓存MAC:sudodscacheutil-flushcacheLinux:dnsmasq的是一个轻量级的DNS、TFTP和DHCP服务器。它的目的是给局域网提供配对的DNS和DHCP服务。d

    2022年8月3日
  • Boltzmann机详解

    Boltzmann机详解基于热力学的随机型神经网络–Boltzmann机1.模拟退火算法我们知道,Hopfield神经网络拥有联想记忆的能力,这也是对生物神经网络的一种模拟。但是,Hopfield神经网络也和BP神经网络一样,有一个致命的缺陷:只能找到局部最优解,而无法沿着梯度上升的方向在全局的角度寻求全局最优解。为了解决这个问题,1983年,Kirkpatrick等提出了模拟退火算法(SA)能有效的解决局部最优…

    2022年7月12日
  • volatile关键字及其作用

    volatile关键字及其作用概述:本文主要介绍Java语言中的volatile关键字,内容涵盖volatile的保证内存可见性、禁止指令重排等。

    2022年5月31日
  • @RequestParam注解使用

    @RequestParam注解使用1、作用:@RequestParam:将请求参数绑定到你控制器的方法参数上(是springmvc中接收普通参数的注解)2、语法:语法:@RequestParam(value=”参数名”,required=”true/false”,defaultValue=””)value:参数名required:是否包含该参数,默认为true,表示该请求路径中必须包含该参数,如果不包含就报…

    2022年6月30日

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号