def listen(self, __backlog: int = ...) -> None: ...
老师,我想了解listen有什么用,网上搜到了这段话,不懂
我以为listen是最大连接数,结果同时多个客户端向服务端发送请求建立连接时,前面的客户端发送一次数据就被强制断开连接,下一个客户端也只能发一次,直到最后一个客户端才可以正常收发
while True:
client_socket, client_info = server_socket.accept() # 阻塞,等待接收客户端信息
# client_count += 1 # 当前连接的客户端数量+1
# print(f'Server:new client,count:{client_count}')
recv_data = client_socket.recv(1024) # 最大接收1024
print(f'client:{recv_data.decode("utf-8")},来自{client_info[0]}, 端口号:{client_info[1]}')
send_data = input("请输入需要TCP传送的信息体:").encode('utf-8')
client_socket.send(send_data) # 输入并编码后发送给客户端
if recv_data == 'Bye' or send_data == 'Bye':
break
我尝试将
client_socket, client_info = server_socket.accept()
移出循环体,只有第一个建立连接的客户端可以发,其它发了服务端收不到