客户通过GAE进行客户通信

时间:2012-11-22 22:10:03

标签: android google-app-engine java-ee

我考虑使用GAE作为服务器来与瘦客户端通信Android手机。 我的典型使用场景是: 用户打开网页(GAE)并从远程设备请求一些信息 设备获取消息,并通过网页将其发送回用户。

感谢GCM,向手机发送消息是小菜一碟。 困难的部分是对用户的回复响应。 我唯一的想法是插入对数据存储区的响应,然后重复查询,但是存在一些缺点:通信延迟和数据存储的过度使用及其配额。

我听说过有关渠道API的内容,但是当我使用GAE时,很有可能两个客户端都会连接到不同的机器。您有任何想法如何以正确的方式做到这一点?

让我的问题更清楚: 让我们简化问题。我有一个servlet从android客户端接收消息。消息发送给使用GWT和另一个servlet登录并拥有自己的会话实例的用户。 您是否知道如何将消息从一个servlet传递给另一个? 据我所知,没有可能通过一些自动sendMessage()方法完成它。 我只需要实现某种邮箱。此刻我看到了这个角色的memcache。完美的应该是像亚马逊短信一样的服务,但让我的应用程序在许多服务器之间派遣让我有点不开心。 队列是其他想法,但不是来自GAE的。我不希望在生产环境中标记为实验的解决方案。

2 个答案:

答案 0 :(得分:2)

渠道API就是您的答案。每个浏览器实例都应该打开一个由令牌标识的通道。由您来跟踪所有令牌,可能在某种会话数据中。然后,您可以将消息发送到适当的浏览器。

到目前为止,我注意到有时候消息无法发送。不经常,但有时候。如果您的消息内容不重要,那可能没问题。就我而言,我构建了一个备份轮询HTTP查询。该渠道的好处是我不需要经常进行备份轮询。

答案 1 :(得分:1)

尝试使用渠道API是好的和可靠的,我们正在使用我们的应用MobiTexter之一,到目前为止还没有遇到任何一个问题。

相关问题