高速公路与 Flask/Twisted 之间的通信

Communication between Autobahn and Flask/Twisted

我正在使用 Autobahn 为 WebSocket 功能构建一个相当简单的应用程序。它与聊天服务器非常相似,但我需要做的一件事是了解如何完成,即如何在 WebSocketServerFactory 对象和我的 Flask 应用程序之间共享资源。这里的例子:

https://github.com/tavendo/AutobahnPython/tree/master/examples/twisted/websocket/echo_wsgi

展示了如何组合 Flask 和 Autobahn,但在我的特定用例中,我希望能够在 Flask 组件的授权调用触发时动态添加聊天室。关于如何在 Autobahn 中的两个组件之间进行通信,是否有任何最佳实践?

Flask 基于 WSGI,从根本上说是阻塞 API。这与 Twisted 或 asyncio(AutobahnPython 支持的 2 个异步网络框架)不能很好地融合。

这里有 2 个选项: