使用uwsgi websockets向用户/用户组发送消息

时间:2013-11-30 22:03:40

标签: python django websocket uwsgi

最近,我一直在围绕为Django应用程序提供服务的不同方式进行大量测试。我已经选择了uwsgi,因为它似乎很适合我们的需求。

我最近发现uwsgi也支持WebSockets并开始研究它并找到一些例子:https://github.com/unbit/uwsgi/blob/master/tests/

运行示例(websockets_chat.py)并查看uwsgi的文档以了解其websockets实现后,看起来好像只能发送广播或全局消息。

有没有人设法找到向特定用户传输消息的方法,或者uwsgi是否还不支持该级别的通信?

干杯

1 个答案:

答案 0 :(得分:1)

websockets规范中没有广播或全局消息。他们只将http连接“升级”到较低级别的连接。你用这种联系做什么取决于你。这些示例显示了与redis集成为消息交换器,但您可以自由地进行其他用途。

针对您的具体情况,您需要构建已连接用户的共享列表并实现路由。请记住,您不能依赖node.js方式,因为它基于单线程设置,因此一切都更简单。在uWSGI中,websocket连接可以在线程,进程或协程上发生,因此在它们之间交换数据是关键。