asmack如何实现群聊

Posted

技术标签:

【中文标题】asmack如何实现群聊【英文标题】:how to implement group chat by asmack 【发布时间】:2014-04-29 13:01:49 【问题描述】:

我用muc of asmack创建了一个群聊房间,但是当我离线时,我会离开房间,其他人看不到我在房间里。所以下次我必须重新加入房间。如何解决这个问题?请给我一些建议。

【问题讨论】:

【参考方案1】:

您好,您能否更具体地说明您想要实现的目标?离线时离开房间是正常的。就我而言,当我加入一个房间时,我使用 openfire 作为我的 xmpp 服务器,我将房间数据保存在数据库中,然后当我再次在线时,我加入回房间并根据数据库中的信息添加消息侦听器。加入房间后,Openfire 会将聊天记录发回给您。此功能可以在 Openfire 控制台更改。希望这对你有帮助 =)

【讨论】:

非常感谢!这就是我现在实现此功能的方式。我只是想知道是否有其他方法可以使它更容易。 欢迎您!这是迄今为止我所知道的最简单的方法。 如果我在手机上运行我的应用程序并加入房间,那么当我在另一部手机上运行应用程序时如何获取房间数据。有没有办法将数据保存在服务器中? igniterealtime.org/builds/smack/docs/latest/javadoc/org/…, java.lang.String) 该链接是 MultiUserChat 类的 javadoc,它允许您获取有关房间的某些信息。我不确定您打算将哪种数据保存到服务器,您能否具体说明一下?你也在使用 openfire 吗? 是的,我也用openfire。我的意思是房间数据是一个用户加入的所有房间和其中的成员。如果我只是将它保存在数据库中,我会丢失它用别的手机登录,我没办法实现。

以上是关于asmack如何实现群聊的主要内容,如果未能解决你的问题,请参考以下文章

使用 asmack 在群聊中发送后收到多条消息

如何使用 Asmack 从 Openfire Sever 中获取所有用户创建的聊天室列表

如何在 Android (2014) 中使用 aSmack XMPP 库实现 facebook 聊天? [关闭]

如何实现群聊/留言板移动应用程序?

如何在 asmack 中使用 PubSubManager 发布和解析

如何使用 asmack 在 android 中创建多用户聊天应用程序