0

我有一个由 App Engine 支持的带有评论系统的移动应用程序。当用户 A 回复用户 B 的评论时,用户 B 会收到通知。一切都通过 HTTP 工作。

现在,我让客户端设备每分钟轮询 App Engine 以获取更新。它有效,但平均而言,在通知出现之前会有 30 秒的延迟。

我想通过让 App Engine 在用户 A 发布回复后立即向用户 B 的设备发送数据包来弥补这一差距。我可以通过将wait(60)命令从客户端移动到服务器来实现这一点——客户端将运行一个紧密的循环,一旦得到响应就会发出另一个请求;App Engine 会在响应之前等待每个请求 60 秒。

但如果用户收到通知,App Engine 会在 60 秒结束之前做出响应。本质上,用户 A 的请求处理程序唤醒了用户 B 的睡眠请求处理程序并使其返回非空数据。

这种技术是否有适用于 HTTP 的名称?能否高效编码?如果是这样,我该如何实现等待/通知代码?

4

1 回答 1

1

代替套接字,App Engine 具有 Channel API,它应该几乎是即时的,无需轮询。

频道 API

文档

于 2013-07-02T20:47:41.360 回答