900字范文,内容丰富有趣,生活中的好帮手!
900字范文 > pythontcp服务器如何关闭阻塞_python实现单线程多任务非阻塞TCP服务端

pythontcp服务器如何关闭阻塞_python实现单线程多任务非阻塞TCP服务端

时间:2020-02-25 15:44:36

相关推荐

pythontcp服务器如何关闭阻塞_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))

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。