【发布时间】:2023-03-23 07:31:02
【问题描述】:
如何使用 Python 在 Google App Engine 中实现 Comet/Server 推送?
【问题讨论】:
标签: python google-app-engine comet server-push channel-api
如何使用 Python 在 Google App Engine 中实现 Comet/Server 推送?
【问题讨论】:
标签: python google-app-engine comet server-push channel-api
我们刚刚宣布了使用 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
【讨论】:
目前,我会排除在 App Engine(任何语言)中使用 Comet。 Comet 基于长寿命的 HTTP 连接,App Engine 最多会在大约 30 秒左右使任何单个连接超时;很难想象有比这更糟糕的比赛了!
【讨论】:
Comet(或类似的东西 - XMPP API)在谷歌应用引擎路线图上。现在,远离。
【讨论】:
30 秒绰绰有余;无论哪种方式,当时间过去且没有新事件发生时,您都应该返回无操作消息。
这可以防止客户端超时,并且由所有做 comet 的人来完成。
只需发送请求,然后在服务器上使其等待 25 秒后发生事件或超时。
【讨论】:
查看 App Engine 1.3.8-pre 版本,我看到了 Channel API 服务存根和更多代码。所以看起来我们可以在本地开始尝试了。
【讨论】:
自 12 月 2 日起,Google App Engine 支持使用 Channel API 进行服务器推送。
【讨论】: