import time
import socket
tcp_server = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
tcp_server.bind(("", 8081))
tcp_server.listen(128)
tcp_server.setblocking(False) # 设置套接字为非阻塞的方式
client_socket_list = list()
while True:
try:
new_socket, new_addr = tcp_server.accept()
except Exception as ret:
print(ret)
else:
new_socket.setblocking(False) # 设置套接字为非阻塞的方式
client_socket_list.apped(new_socket)
for client_socket in client_socket_list:
try:
recv_data = client_socket.recv(1024)
except Exception as ret:
print(ret)
else:
print(recv_data)
if recv_data:
# 对方发送过来数据
pass
else:
# 对方调用close,导致了recv返回
client_socket.close()
client_socket_list.remove(client_socket)
Python 单线程实现并发(套接字)
最新推荐文章于 2022-08-19 09:38:47 发布