23

我将在 Python 中实现 Comet(尽管我听说了关于 erlycomet 的好消息,但除了后端中的所有其他内容之外,我对支持基于 Erlang 的 Web 服务器并不感到兴奋)。我发现了几种可能性:

(还有其他一些与 Java 服务器交互的选择,但我对这些不感兴趣)

考虑到性能、社区和易于实施,有人可以在这些实施中提出建议吗?

4

7 回答 7

8

我个人使用 Orbited,既因为我已经在使用 Twisted,又因为它看起来很成熟。Twisted 拥有许多用户的悠久历史,尤其是与 Diesel 和 Tornado 相比。Orbited 确实建立在 Twisted 之上。

这里有一篇很好的博客文章,涵盖了端到端的轨道解决方案。它将数据从 python 脚本发送到 STOMP 服务器 (MorbidQ) 到 Orbited 到 Javascript - 将该数据呈现为图形。

龙卷风对现场来说似乎很新,我找不到扭曲彗星,也没有听说过柴油。我特别喜欢 Orbited 可以转发任何类型的 tcp/ip 的方式,但可以很容易地将 javascript 客户端与消息传递 STOMP 后端挂钩。

于 2009-10-06T00:53:29.593 回答
5

如果您正在寻找编写 Comet 应用程序,我会推荐 Orbited。

是什么让 Comet 实现起来更复杂(比制作 Ajax 应用程序),您需要客户端(Comet javascript 客户端)和服务器(像 Twisted 这样的异步 Web 服务器)协同工作,这就是您得到的使用 Orbited - javascript 客户端和服务器。

Tornado 和 Diesel 都主要提供异步服务器部分,但缺少重要的客户端 JavaScript 代码。

另外,围绕 Orbited 有一个相当不错的社区,有几个人正在用它构建很酷的应用程序,这个页面显示了其中的几个应用程序:http: //orbited.org/wiki/Sites

于 2009-10-06T01:52:39.507 回答
2

你确定彗星了吗?为什么不是 WebSockets?如果后者也是一个选项,我想参考在 Twisted 中实现 WebSockets 的https://github.com/tavendo/AutobahnPython(文档可在http://autobahn.ws/python上找到)。它符合标准,具有基于消息的基本 API 和用于基于帧/流处理的高级 API 以及更多好东西。

于 2011-08-28T18:07:06.200 回答
2

我也一直在使用 Twisted。但我使用的是 Nevow.Athena,而不是 Orbited。这真的很简单:阅读LiveElement 教程了解更多信息。

于 2009-11-08T21:54:02.970 回答
1

我对这个问题的回答提供了一个使用高速公路库的服务器推送示例,恕我直言,这是迄今为止由 Twisted 提供支持的最用户友好的 WebSocket 框架。JS 实现和 Android 一样可用。

Comet 已被 WebSocket 完全取代,除非您计划支持 IE8 及更早版本,否则您应该考虑使用后者

于 2013-02-13T00:44:52.620 回答
0

尝试WebSocket-for-Python

于 2012-01-06T22:35:48.867 回答
0

Tornado 工作正常,您可以在此处完善 websockets 示例: https ://github.com/Introduction-to-Tornado/Introduction-to-Tornado/tree/master/asynchronous_web_services/websockets

于 2013-02-17T15:42:45.243 回答