需要帮助了解聊天,XMPP,jabber id等

时间:2011-03-11 16:12:22

标签: mobile chat xmpp

我正在创建一个可在iOS,Android,BB和Win7上运行的移动应用。这是一个基于位置的应用程序,您可以加入群组,然后能够看到该群组其他成员的位置。这一切都很好,很好。我目前正在使用GAE来管理这些小组。

现在,我想为群组成员添加相互聊天的功能。没有1-1 IM而是1-many聊天室。因此,当您访问应用中的某个群组时,您可以键入消息,该群组的所有其他成员都可以看到您的消息。我开始走移动推(APNS,C2DM等)的道路,但认为必须有更好的方法。如果应用程序实际上正在运行,我只希望收到消息,因此移动推送的重要部分在这种情况下并不重要。但我当然也不想进行民意调查。

所以我开始研究XMPP,它似乎是正确的解决方案,但我是这项技术的新手。我不希望用户必须拥有,或者通过他选择的某些服务创建一些在线IM存在。我想在移动应用程序中只有一个“用户名”的首选项,而这就是他所需要的。

所以这就是我真正需要帮助的地方。我可以以编程方式在某处创建聊天室,并为该组的用户创建ID吗?我是否需要托管我自己的XMPP服务器(我理解它不适用于GAE)。

或者我当然完全不是一个更好的解决方案?

非常感谢您的帮助。

沃伦

3 个答案:

答案 0 :(得分:1)

我使用QuickBlox.com作为我的应用程序的后端。它内置基于XMPP的聊天模块,还有一个消息模块,可以帮助您将跨平台推送发送到iOS,Android和WP7。

顺便说一句,聊天模块支持MUC中的群组(多用户聊天),他们还有sample将聊天功能集成到我们的应用中。

答案 1 :(得分:0)

检查http://hosted.im/有免费计划(5位用户),至少可以测试一下。

关于XMPP实现,您可以执行您想要的操作,但您需要运行自己的xmpp服务器

服务器:

  • ejabberd
  • 的Openfire
  • 的jabberd
  • jabberd2
  • tigase

我不知道GAE是否支持扩展我在这里无法帮助你。

希望这有点帮助。

答案 2 :(得分:0)

即使问题有点老,我认为这对其他技术人员也很有用.. :)

您可以使用Quickblox作为服务器进行注册,他们对用户有不同的计划,包括免费计划。

此外,如果您希望您可以维护自己的服务器。

aSmack是用于实现Android的XMPP的好库。您可以从aSmack站点获取jar和source。只是谷歌吧。

但根据我自己的经验,实现多用户聊天有点困难..