python - 如何在 Python 中处理多个客户端连接并同时响应它们?
问题描述
我正在设置一个代理,它将接受来自客户端的输入,将该请求中继到服务器,然后将响应转发回客户端。我遇到的问题是如何同时与多个客户端通信。我正在尝试使用python多线程,但我没有成功。我的代码如下所示:
while True:
(client_socket, addr) = self.sock.accept()
t = threading.Thread(target=self.thread_start(client_socket))
t.start()
thread_start() 开始运行与客户端对话的操作。
此代码将接受多个客户端,但每个客户端必须等待先前连接的客户端关闭才能发送数据。
我知道 sock.accept() 将接受多个客户端,但它似乎只是将它们放入队列中,直到前一个完成。有没有办法同时与多个客户交谈?
编辑:我似乎通过简单地改变得到了正确的行为
t = threading.Thread(target=self.thread_start(client_socket))
t.start()
和
import _thread
_thread.start_new_thread(self.thread_start, (clientsocket,))
解决方案
推荐阅读
- python - 在密集图上找到整体最短路径
- javascript - 如何添加 eventListener 单击具有不同自定义数据键属性的多个 div
- c# - C#,光子服务器。当我启动光子实例时,总是发生错误。不是关于端口,而是配置文件
- groovy - 将不同 repo 的一个 Jenkinsfile 调用到另一个 jenkinsfile
- javascript - 如何将源代码示例存储在 MongoDb 中,以便我可以正确显示?
- c++ - (c++) 覆盖操作符<< 打印错误的对象
- angular - 如何在 Angular 6 中实现 Keycloak?
- selenium - 如何在 Selenium 中生成 Word 或 PDF 报告?
- html - CSS 悬停抖动 - 背景颜色
- list - 如何计算序言中的所有事件