【问题标题】:The latest recommendation for Comet in Python? [closed]Python 中 Comet 的最新推荐? [关闭]
【发布时间】:2010-12-03 15:33:13
【问题描述】:

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

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

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

【问题讨论】:

标签: python comet twisted tornado


【解决方案1】:

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

有一篇很好的博客文章涵盖了end-to-end orbit solution here。它将数据从 python 脚本发送到 STOMP 服务器 (MorbidQ) 再到 Orbited 到 Javascript - 将数据呈现为图形。

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

【讨论】:

    【解决方案2】:

    如果您要编写 Comet 应用程序,我建议您使用 Orbited。

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

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

    另外,Orbited 周围有一个非常好的社区,有几个人正在用它构建很酷的应用程序,这个页面展示了其中的几个应用程序:http://orbited.org/wiki/Sites

    【讨论】:

      【解决方案3】:

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

      【讨论】:

      【解决方案4】:

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

      【讨论】:

      • WebSockets 需要 IE 的 Flash
      • 是的。 IE9也没有WS。 Microsoft 有一些 WS 测试版,但仅适用于 Silverlight,可以从 JS 访问 - 再次类似于 Flash 解决方法。 MS 没有关于 WS 支持的官方声明——他们在即将推出的标准以及 WebGL 上玩游戏。由你来考虑;)
      • IE10 支持二进制 WebSockets 消息:tavendo.de/autobahn/testsuite.html
      • 如果您可以将 WebSockets 用于您的用例,那么高速公路非常好。
      【解决方案5】:

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

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

      【讨论】:

        【解决方案6】:

        【讨论】:

          【解决方案7】:

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 2011-02-11
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 2010-10-18
            • 1970-01-01
            • 2010-10-17
            相关资源
            最近更新 更多