我可以在 XMPP Asmack 中实现像 WhatsApp 或 BBM 这样的群聊吗?我正在使用 Openfire 服务器。我已经在 XMPP ( http://xmpp.org/extensions/xep-0045.html ) 中实现了基本的多用户聊天,但它并不包含我需要的所有功能。
我需要群聊的全部功能,例如:
- 无论用户是否在线,组都可以持久化用户。
- 将离线消息传递给组成员(当他上线时)。
我应该自定义服务器吗?或者有关于这个组功能的任何标准?我真的需要帮助解决这个问题。
谢谢你。
我可以在 XMPP Asmack 中实现像 WhatsApp 或 BBM 这样的群聊吗?我正在使用 Openfire 服务器。我已经在 XMPP ( http://xmpp.org/extensions/xep-0045.html ) 中实现了基本的多用户聊天,但它并不包含我需要的所有功能。
我需要群聊的全部功能,例如:
我应该自定义服务器吗?或者有关于这个组功能的任何标准?我真的需要帮助解决这个问题。
谢谢你。
您应该为群聊消息使用数据包侦听器。在服务中运行此数据包侦听器,以便即使应用程序未在前台运行,群聊也会更新。然后检查数据包中的发件人 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);