您好,欢迎访问一九零五行业门户网

python的单线程多任务的实现

这篇文章主要为大家详细介绍了python实现单线程多任务非阻塞tcp服务端的相关资料,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
本文实例为大家分享了python实现单线程多任务非阻塞tcp服务端的具体代码,供大家参考,具体内容如下
# coding:utf-8 from socket import * # 1.创建服务器socket sock = socket(af_inet, sock_stream) # 2.绑定主机和端口 addr = ('', 7788) # sock.bind(addr) # 3. 设置最大监听数目,并发 sock.listen(10) # 4. 设置成非阻塞 sock.setblocking(false) # 保存客户端socket clientaddrlist = [] # 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的单线程多任务的实现的详细内容。
其它类似信息

推荐信息