我该如何在Python的Google App Engine中实现Comet/服务器推送?
我该如何在Python的Google App Engine中实现Comet/服务器推送?
目前来看,在App Engine(任何语言)中不建议使用Comet技术。Comet基于长连接的HTTP,但是在App Engine中单个连接最多只能保持30秒左右,很难想象还有比这更糟糕的匹配方式!
Comet(或类似于它的XMPP API)已经在Google应用程序引擎的路线图上了。但现在,请远离使用。
30秒已经足够了;无论如何,当时间过去且没有新事件发生时,您应该返回一个无操作消息。
这可以防止客户端超时,并且每个使用comet的人都会这样做。
只需发送请求,在服务器上等待事件或在25秒后超时即可。
在查看App Engine 1.3.8-pre版本时,我发现了Channel API服务存根和更多代码。因此,我们可以开始在本地尝试它。