import socket
import time
tcp_server_socket= socket.socket(socket.AF_INET,socket.SOCK_STREAM)
tcp_server_socket.bind(("",5051))
tcp_server_socket.listen(128)
tcp_server_socket.setblocking(False)#设置套接字为非阻塞的方式
client_soket_list= list()
while True:
# time.sleep(0.5)
try:
new_socket, new_addr= tcp_server_socket.accept()
except Exception as ret:
print("---没有新的客户端到来---")
else:
print("---只要没有产生异常,那么也就意味着来了一个新的客户端---")
new_socket.setblocking(False)#设置套接字为非阻塞的方式
client_soket_list.append(new_socket)
for client_soketin client_soket_list:
try:
ret_data= client_socket.recv(1024).decode("utf-8")#接收
except Exception as ret:
print(ret)
print("---这个客户端没有发送过来数据---")
else:
print("---没有异常---")
print(recv_data)
if ret_data:
#对方发送过来数据
print("---客户端发送过来了数据---")
else:
#对方调用close导致了recv返回
client_soket_list.remove(client_soket)
client_soket.close()
print("---客户端已经关闭---")
new_socket.send()#发送
网友评论