将 AppEngine XMPP 用于客户端通知

Posted

技术标签:

【中文标题】将 AppEngine XMPP 用于客户端通知【英文标题】:Using AppEngine XMPP for Client Notifications 【发布时间】:2009-12-07 12:12:06 【问题描述】:

我一直在寻找一种方法来告诉客户有关过期对象的信息,而 AppEngine 的 XMPP 实现似乎真的很有趣,因为它是可扩展的、应该是可靠的并且可以包含多达 100kb 的数据。

    但据我了解,在客户可以收听消息之前,他应该有一个 gmail 帐户。这是非常不切实际的。

    有没有办法让临时只读 XMPP 帐户用于此?

【问题讨论】:

【参考方案1】:
    不,这不是真的:您可以通过任何基于 Jabber/XMPP 的网络让 AppEngine 机器人作为联系人。

除非您说需要 GMAIL 帐户来创建 AppEngine 机器人...在这种情况下,是的,您需要有一个 Google 帐户。

【讨论】:

我用来自 jabber.org 的免费 jabber 帐户尝试了此操作,但始终无法使用。【参考方案2】:

在这种情况下,我会每隔 5 分钟执行一次 ajax 调用来检查它。

它易于实现,并且可以将交换的数据减少到最大(利用 google-app 的“快速查询/响应”功能)。

问候。

【讨论】:

当我们谈论实时网络时,Ajax 每 5 分钟调用一次?呜呜。 嗯,5 分钟只是一个例子。 ajax 调用可能会返回等待的秒数,具体取决于服务器的负载。【参考方案3】:

jldupont 第一点是正确的:任何 JID 都应该工作 :)

对于第二点,唯一的选择可能是设置您自己的服务器并允许匿名访问 + 临时帐户。

【讨论】:

那么如果我可以在某处创建临时的只读帐户并将它们分配给应该可以工作的客户?

以上是关于将 AppEngine XMPP 用于客户端通知的主要内容,如果未能解决你的问题,请参考以下文章

Python xmpppy客户端未向appengine xmpp客户端发送消息

与 Google App Engine 连接的即时 XMPP 客户端

XMPP 聊天和通知一起?

XMPP 上的群聊推送通知

GCM + AppEngine - 应用没有收到推送通知

App Engine 忽略 XMPP NORMAL 类型消息