我正在进行一项科学实验,大约有两打测试人员互相玩回合制游戏。现在,它是一个带有 WSGI 接口的 Python Web 应用程序。我想通过 websockets 来增加可用性:当所有玩家完成他们的回合时,我想通知所有客户端更新他们的状态。现在,每个人要么等待转弯超时,要么不断重新加载并等待“转弯仍在进行中”错误消息不再出现(忙于等待,有效)。
我通读了多个 websocket 库的文档,了解 websockets 的工作原理,但我不确定混合 WSGI 和 websockets 的架构:我可以在同一个进程中拥有 websockets 和 WSGI 服务器吗(如果可以,如何,使用任何 websockets 库)并且只my_websocket.send_message()
从 WSGI 处理程序调用,或者我应该有一个单独的 websockets 服务器并做一些 IPC?还是我根本不应该混合它们?
编辑,6 个月后:我最终启动了一个单独的 websockets 服务器进程(使用 Autobahn),而不是将它与 WSGI 服务器集成。原因是,将它们两者分开更容易和更清晰,并且从 WSGI 进程(服务器到服务器通信)与 websockets 服务器进行对话是直接的,并且在第一次尝试时使用websocket-client进行了工作。