25

如何在 Python 中的 Google App Engine 中实现 Comet/Server 推送?

4

6 回答 6

69

我们刚刚宣布了使用 App Engine 应用进行彗星推送的 Channel API:http: //googleappengine.blogspot.com/2010/05/app-engine-at-google-io-2010.html

如果您在 Google IO,我将在明天下午 1 点(在 API 轨道上)讨论这个问题:http ://code.google.com/events/io/2010/sessions/building-real-time-apps -app-engine-feed-api.html

以下是本次会议的 YouTube 视频:http ://www.youtube.com/watch?v=oMXe-xK0BWA

希望最后更新!现已发布:code.google.com/appengine/docs/python/channel

于 2010-05-19T23:43:54.633 回答
3

目前,我会排除在 App Engine(任何语言)中做 Comet。Comet 基于长寿命的 HTTP 连接,App Engine 最多会在大约 30 秒左右使任何单个连接超时;很难想象有更糟糕的比赛!

于 2009-08-16T20:14:58.590 回答
2

Comet(或类似的东西 - XMPP API)在谷歌应用引擎路线图上。现在,远离。

http://code.google.com/appengine/docs/roadmap.html

于 2009-08-17T02:14:21.990 回答
1

30秒绰绰有余;无论哪种方式,当时间过去并且没有新事件发生时,您都应该返回一个无操作消息。

这可以防止客户端超时,并且由所有做彗星的人来完成。

只需发送请求,并在服务器上使其等待 25 秒后发生事件或超时。

于 2010-05-06T21:56:36.933 回答
0

查看 App Engine 1.3.8-pre 版本,我看到了 Channel API 服务存根和更多代码。所以看起来我们可以在本地开始尝试了。

于 2010-10-12T20:19:03.250 回答
0

自 12 月 2 日起,Google App Engine 支持使用 Channel API 进行服务器推送。

于 2010-12-19T00:03:00.373 回答