繁体   English   中英

使用XMPP构建聊天应用程序的模式

[英]Patterns for building chat application with XMPP

我使用Google App Engine Server构建了一个Android应用程序。 现在我想在我的应用中添加简单的聊天功能。 我有一些问题。

  • 我的用户注册了他们想要的电子邮件域名,如hotmail.com,yahoo.com甚至更深奥的域名,这是否意味着我需要为他们创建JID? 如果是这样,谷歌应用程序引擎提供我的应用程序域JID创建,我可以操纵?

  • 我读到Google App Engine充当XMPP客户端,因此我需要可以接收和发送XMPP消息的Xmpp Server。 为什么我要GAE? Openfire是我的答案吗? 我可以将Openfire与GAE集成吗?

  • 我还读到,如果我想在GAE和Android中使用XMPP需要aSmack Api用于我的客户端并且它正在使用HTTP。 所以我想我需要每隔几秒钟轮询一次服务器的消息。 有更好的模式吗?

我可以将Openfire与GAE集成吗?

您无法在GAE上运行Openfire,因为GAE仅适用于HTTP,因此您无法像Openfire那样通过套接字进行连接。

我的用户注册了他们想要的电子邮件域名,如hotmail.com,yahoo.com甚至更深奥的域名,这是否意味着我需要为他们创建JID? 如果是这样,谷歌应用程序引擎提供我的应用程序域JID创建,我可以操纵?

如果我理解你的问题,你不应该有任何问题。 只要您不是垃圾邮件发送者,我们就不会对您可以发送到的域名进行任何限制。

我读到Google App Engine充当XMPP客户端,因此我需要可以接收和发送XMPP消息的Xmpp Server。 为什么我要GAE? Openfire是我的答案吗? 我可以将Openfire与GAE集成吗?

您可以通过xmpp API发送和接收XMPP消息(这是python版本)。 这会调用Google Talk基础架构。 您无权访问传统上称为“XMPP服务器”的内容,但您可以访问基本的XMPP功能。

我不知道了很多关于Openfire的,但对于出站套接字信任的测试程序,你可以注册 如果您需要外部XMPP服务器,这就是您需要的。

我还读到,如果我想在GAE和Android中使用XMPP需要aSmack Api用于我的客户端并且它正在使用HTTP。 所以我想我需要每隔几秒钟轮询一次服务器的消息。 有更好的模式吗?

我应该通过说我对Android或aSmack不了解很多来作为前缀,但这并不能阻止我接受回答你的问题。 :-)

我认为这取决于你的用例,但我无法想到你需要做的任何情况。 您的应用程序的用户是否在他们注册的服务器上拥有自己的JID? 如果是这样,我没有看到你必须通过HTTP连接的任何理由,除非这是所有aSmack支持的。 BOSH / XMPP-over-HTTP的主要用例是在浏览器中,您实际上无法访问打开的原始套接字。

如果您想将XMPP用作用户不知道的消息/通知服务,则可能更复杂。 我应该注意,您始终可以Google Compute Engine上设置XMPP服务器。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM