1
多个客户端我想在python构建一个简单的socket服务器:接受在python socket服务器
import socket
import threading
import time
def handle(conn_addr):
print("Someone Connected")
time.sleep(4)
print("And now I die")
host = ''
port = 5000
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
try:
s.bind((host,port))
except socket.error as e:
print(str(e))
s.listen(2)
while True:
threading.Thread(handle(s.accept())).start()
print("Should never be reached")
socket服务器应该同时接受多个客户端。我试图从我的外壳由多个标签调用远程登录本地主机5000来测试其功能但是我得到的模式是
Someone Connected
And now I die
Someone Connected
And now I die
而不是
Someone Connected
Someone Connected
Someone Connected
我召唤4秒内每次的内telnet命令其他所以它应该有2条连接的消息,但只有在前一个套接字断开连接后才会返回消息。为什么是这样,我该如何去解决这个问题?
您正在打印die语句而不关闭套接字。客户端仍应该连接 –
但是,为什么在我连接到该功能后,该功能不会打印“有人连接”?它总是等待“死”被打印? – Bula
据我所知,它应该打印“连接”,然后暂停4秒,然后打印“死亡”(即使你不关闭插座)。这不是发生了什么? –