我创建了一个 serversocket 并将其绑定到本地端口,然后告诉它在 backlog 中最多排队 5 个连接。我想要一种方法来检测客户端套接字何时连接到服务器套接字/当积压有排队连接时。我在一个单独的线程中运行 socket.accept() 并且需要能够停止单独的线程,当线程在 socket.accept() 上挂起时我不能这样做。
这样做的原因是我试图让服务器套接字仅在用户运行命令时侦听连接,然后在用户运行不同命令时停止。
我希望我的代码可以阅读如下内容:
serversocket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
serversocket.bind((socket.gethostname(), 1024))
serversocket.listen(5)
class connectListner (threading.Thread):
def run(self):
while True:
if <item in backlog>:
clientsocket, address = serversocket.accept()
pass
然后我可以使用 thread.join() 来停止线程
任何帮助,将不胜感激