我可以使用 Google App Engine 作为 XMPP 网关吗

Posted

技术标签:

【中文标题】我可以使用 Google App Engine 作为 XMPP 网关吗【英文标题】:Can I Use Google App Engine as XMPP Gateway 【发布时间】:2013-03-11 23:17:01 【问题描述】:

我有一个托管在 Windows Azure 上的云应用程序,我需要将 XMPP 与该服务集成。我可以使用 GAE 的 XMPP API 来实现这一点吗?我需要能够创建新的 Jabber ID 并从 GTalk 等其他客户端发送和接收消息。

据我所知,GAE 只支持 Java、Python,我的专长仅限于 .NET 和 C#;所以,我必须让我的 Azure 应用程序与 GAE 通信。

最后,我可以使用 GAE 作为在 Windows Azure Virtual Machines or Amazon EC2 上运行 ejabbered 的替代方法吗?

提前谢谢... :)

【问题讨论】:

【参考方案1】:

你可以,但它会非常有限。你最好还是去别的地方跑吧。

使用 GAE 的 XMPP API,您的用户名选择非常有限。请参阅 GAE XMPP 概述 API 文档。

您的云应用程序需要通过 HTTP 访问从您的 GAE 应用程序发送和接收消息。这对于发送没什么大不了的,但是您必须采用自己的方式来接收消息。您可以将消息缓冲到 datstore 并轮询消息。您可以使用 Channel API 直接接收消息,但目前 Channel API 客户端仅在 javascript 中可用,因此您的应用需要某种 javascript 解释器才能使用客户端。

您将能够从 GTalk 客户端等其他 XMPP 地址发送/接收消息。

【讨论】:

好吧...有道理...您能否告诉我,EJabbered 是最好的 XMPP 服务器,还是有更好的选择?喜欢 OpenFire 吗?另外我应该选择哪个平台(操作系统)?在这种情况下,Linux 比 Windows 有什么优势吗?我的应用程序仅使用 .NET 构建。 我相信你可以通过谷歌搜索一下。

以上是关于我可以使用 Google App Engine 作为 XMPP 网关吗的主要内容,如果未能解决你的问题,请参考以下文章

是否可以在 Google App Engine 上使用 Python lxml?

我可以使用 Google App Engine 作为 XMPP 网关吗

Google App Engine 大文件上传

使用 Google App Engine 时可以对模式进行文本搜索吗?

在 Google-App-Engine 中使用 HSQLDB

Google App Engine 中的 GeoModel 使用