【发布时间】:2019-06-09 16:10:02
【问题描述】:
我正在使用 python WebSockets 在 python 上构建 web-sockets API。根据我在 API 中使用的服务,我需要通过线程来包装它们。所以我必须让我的异步网络套接字等待线程为响应生成数据。
我发现有很多方法可以实现这样的服务。我可以使用threads + 本机 python socket 模块或多路复用(python selector 模块)+ python socket 模块或多线程 + python socket 模块或threads + async python web-sockets。
我想让一个 web-socket python 服务以下一个方式工作。我的客户端将数据发送到服务器。服务器启动thread_1,它以某种方式修改给定的数据,然后将修改后的数据传递给thread_2,后者再次修改它们一次,然后返回两次修改后的数据作为对客户端的响应。正如我所期望的,客户端不会等待服务器上的响应发送下一个数据包,但如果服务器返回一些结果,客户端将处理它。换句话说,客户端和服务器应该以异步顺序工作。不过,如果您能提出一些有助于我实现该问题目标的材料,那就太好了。
【问题讨论】:
-
通常你不用担心服务器线程......部署时你使用独角兽或其他东西来服务你的 websocket 并指定工作人员的数量
-
据我所知,这是一个 A/B 问题。您正在尝试找出线程,但真正的问题是任务数据和 WebSocket 连接之间的通知。更好的解决方案可能是回调或发布/订阅方法,其中通过回调或发布/订阅通知通知 WebSocket 连接完成。
标签: python api sockets websocket stream