本文实例为大家分享了python实现单线程多任务非阻塞TCP服务端的具体代码,供大家参考,具体内容如下
# Coding:utf-8from socket import *# 1.创建服务器socketsock = socket(AF_INET,SOCK_STREAM)# 2.绑定主机和端口addr = ('',7788) #sock.bind(addr)# 3. 设置最大监听数目,并发sock.Listen(10)# 4. 设置成非阻塞sock.setblocking(False)# 保存客户端socketclIEntAddrList = []# print(sock.)while 1: try: clIEntSocket,clIEntAddr = sock.accept() except: pass else: print("一个新客户端到来:%s" % str(clIEntAddr)) clIEntSocket.setblocking(False) clIEntAddrList.append((clIEntSocket,clIEntAddr)) for clIEntSocket,clIEntAddr in clIEntAddrList: try: recvData = clIEntSocket.recv(1024) except: pass else: if len(recvData) > 0: print("%s:%s" % (str(clIEntAddr),recvData)) else: clIEntSocket.close() clIEntAddrList.remove((clIEntSocket,clIEntAddr)) print("%s 已经下线" % str(clIEntAddr))
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持编程小技巧。
总结以上是内存溢出为你收集整理的python实现单线程多任务非阻塞TCP服务端全部内容,希望文章能够帮你解决python实现单线程多任务非阻塞TCP服务端所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)