高速公路与 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 个选项:
- 使用 Twisted
callFromThread
从后台线程 运行 WSGI 到主线程进行通信 运行 Autobahn
- 扭曲的克莱因http://tavendo.com/blog/post/going-asynchronous-from-flask-to-twisted-klein/
我正在使用 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 个选项:
- 使用 Twisted
callFromThread
从后台线程 运行 WSGI 到主线程进行通信 运行 Autobahn - 扭曲的克莱因http://tavendo.com/blog/post/going-asynchronous-from-flask-to-twisted-klein/