Python Comet服务器
我正在构建一个web应用程序,它有一个实时提要(类似于Facebook的newsfeed),我想通过一个长轮询机制来更新它。我知道,对于Python,我的选择基本上是使用Stackless(从Comet wsgi示例构建)或Cometd+Twisted。不幸的是,关于这些选项的文档很少,我无法在网上找到有关comet on Python的生产规模用户的好信息Python Comet服务器,python,cometd,python-stackless,Python,Cometd,Python Stackless,我正在构建一个web应用程序,它有一个实时提要(类似于Facebook的newsfeed),我想通过一个长轮询机制来更新它。我知道,对于Python,我的选择基本上是使用Stackless(从Comet wsgi示例构建)或Cometd+Twisted。不幸的是,关于这些选项的文档很少,我无法在网上找到有关comet on Python的生产规模用户的好信息 有人在生产系统中成功地在Python上实现了comet吗?你是怎么做的,我在哪里可以找到实现我自己的资源呢?我没有做过,但是已经写了一篇关
有人在生产系统中成功地在Python上实现了comet吗?你是怎么做的,我在哪里可以找到实现我自己的资源呢?我没有做过,但是已经写了一篇关于它的好文章,有Django的例子和指向其他框架的指针(我没有检查过)。我已经用twisted做了很多API,其中大部分都是我的账户上提供的 大多数都是客户端的,但它是我写的一个服务器,用来做实时的事情。通过允许简单的流复制,它可以在一定程度上水平扩展读取。当您坚持使用纯HTTP时,写操作会有点不同,但我已经在演示中介绍了相当多的内容 否则,您将拥有大多数XMPP服务器支持的完全开放式的BOSH,并允许您将消息分发与web前端分离。似乎是一个不错的解决方案。但我还没试过
更新:在过去的2.5年里,情况发生了变化 我们现在在所有主要浏览器中都有WebSocket,除了IE(自然)和一些非常好的抽象,它们提供了许多模拟实时通信的方法
- 以及(socket.io 0.6)和(socket.io 0.7+)
- 连同
StreamHub hub = new StreamHub();
hub.connect("http://myserver.com/");
hub.subscribe("newsfeed", function(sTopic, oData) { alert("new news item: " + oData.Title); });
文档非常好-当您尝试开始使用Comet et al的稀疏文档时,我遇到了类似的问题。首先,我阅读、下载并了解一些示例的工作原理,如果需要,请参考API文档:
它使用了Stackless打包为CPython扩展的-stack切换功能。orbited的缺点是文档太少。orbited和链接似乎已经死了?现在,它导致了一个关于健康生活方式故事和其他类似内容的博客。。