彗星协议与Django - 我知道一些选项,但无法让它们工作

4 投票
2 回答
1081 浏览
提问于 2025-04-16 18:56

我对用Django制作实时网页应用非常感兴趣。不过,设置这些东西的时候遇到了不少麻烦。我在考虑一些选项:

Orbited:看起来是Django的一个不错选择。不过,他们的域名似乎过期了,结果我需要的文档也几乎都没了。我跟着一个教程在做,链接是http://mischneider.net/?p=125,但遇到了一个神秘的错误(详情见找不到logger "stomp.py" 的处理程序)。

Meteor:他们的网站让我印象深刻。不过,我用的是Windows,关于Windows的文档几乎没有,所以我完全不知道该怎么办。

Cometd:遇到类似的问题:就是不懂怎么安装。

Tornado:需要pycurl,而pycurl又需要curl。总是出现CURL_DIR和libcurl.lib的问题。折腾了几个小时,最后实在无奈了。

请帮帮我。我现在非常愿意考虑任何方案。只要有文档能让我搞清楚怎么安装和用Django一起使用就行。

非常感谢任何帮助。

2 个回答

0

看看EvServer吧,这里有它的使用说明

5

要制作实时网页应用程序,使用 comet 技术(或者 websocket)是个不错的选择。你需要一个能够处理长连接的服务器和一个 JavaScript 客户端。大多数 comet 库都能提供这两者(比如 APE、orbited 等)。我觉得使用 websockets 更好,因为它是 HTML5 的一部分,客户端代码也很简单易用。建议你找一个你喜欢的异步框架或服务器,然后用它来实现你项目中的实时部分。

  1. Gevent 提供了一个基于 Django 的长轮询异步聊天示例。Gevent 很受欢迎,文档也很齐全。

  2. Eventlet 是一个很不错的并发网络库,文档也写得很好。

  3. Twisted 当然是 Python 中事实上的异步网络库。这里有一个使用 websockets 和 Twisted 的示例。

  4. Meinheld 是一个轻量级的异步网络服务器,它使用 greenlet,并且有 与 Django 和 websockets 的使用示例

  5. Uwsgi 提供了很好的异步支持,功能非常丰富,还有很多不同的示例。它的文档也相当不错。

另外,可以查看 bottle 的文档,了解关于 异步应用程序 的基础知识。

撰写回答