使用(a)Smack创建像WhatsApp,BBM在XMPP中的组

时间:2014-04-21 09:18:58

标签: xmpp multiuserchat groupchat

我可以在XMPP Asmack中实现像WhatsApp或BBM这样的群聊吗?我正在使用Openfire Server。 我已经在XMPP(http://xmpp.org/extensions/xep-0045.html)中实现了基本的多用户聊天,但它不包含我需要的所有功能。

我需要群聊的全部功能,如:

    无论用户是否在线,
  • 群组都可以保留用户。
  • 向群组成员发送离线消息(当他上线时)。

我应该自定义服务器吗?或者有关于此群组功能的标准? 我真的需要帮助解决这个问题。

谢谢。

1 个答案:

答案 0 :(得分:-1)

您应该将数据包侦听器用于群聊消息。在服务中运行此数据包侦听器,以便即使应用程序未在前台运行,也会更新组聊天。然后从数据包中检查 发件人ID 并相应地更新您的数据库。请检查以下代码。

PacketFilter filter = new MessageTypeFilter(Message.Type.groupchat);
            yourXmppConnection.addPacketListener(new PacketListener() {

                @Override
                public void processPacket(Packet packet) {
                    Message message = (Message) packet;
                    String received_message=message.getBody();
                    String from_user=message.getFrom();

                        // Add incoming message to the list view or similar
                    }
                }
            }, filter);