Tornado websockets:在进程之间共享打开的 web sockets

Posted

技术标签:

【中文标题】Tornado websockets:在进程之间共享打开的 web sockets【英文标题】:Tornado websockets: share open web sockets between processes 【发布时间】:2011-06-27 12:00:36 【问题描述】:

我有提供 websockets 连接的龙卷风应用程序和 Django 应用程序。我想在 Django 和 Tornado 之间共享打开的 websocket(即从 Django 应用程序写入套接字)。实现这一目标的最简单方法是什么?

【问题讨论】:

澄清一下,这是关于使用 websockets 作为 Tornado 和 WebSockets 之间的通信通道吗? 【参考方案1】:

最简单的方法是使用包装 django.core.handlers.wsgi.WSGIHandler 的 tornado.wsgi.WSGIContainer。 http://djangosnippets.org/snippets/1748/ 有一个很好的例子。

【讨论】:

websockets 可以在 WSGI 下工作吗?我的印象是任何异步都行不通。 嗯,根据他们的文档,它不支持异步。也许使用其他龙卷风处理程序之一并用它调用 Django 应用程序。 谷歌搜索“tornado and django”显示以下lincolnloop.com/blog/2009/sep/15/…。不知道它有多好。 不,等一下,我知道了 djangosnippets.org/snippets/1748 说使用 tornado 的 WSGIContainer。我正在编辑我的帖子。 在这种情况下为什么不简单地使用 django-websockets 呢?目前我最终通过rabbitmq向tornado应用程序发送消息并在子线程中使用它们。

以上是关于Tornado websockets:在进程之间共享打开的 web sockets的主要内容,如果未能解决你的问题,请参考以下文章

在 Tweepy 和 Tornado WebSocket 中的类之间传递数据

Python下tornado架构websocket简介

Tornado WebSocket 与 Django ORM 与共享会话

Python Tornado 中的已连接客户端列表

tornado websocket

websocket[tornado] 的单个实例可以处理不同的请求吗?