【发布时间】:2015-12-04 11:28:18
【问题描述】:
我在 openfire 服务器中启用了离线消息选项。但我无法获取离线消息
用户A在线,用户B在线,这样我就可以收到消息了。
现在用户 B 关闭了他的 WiFi(注意:用户 A 等到用户 B 会话在服务器中完全终止)
现在用户 A 向用户 B 发送消息
在这种情况下,我可以在 openfire 离线表中看到该消息。
现在用户 B 再次上线服务器正在向用户 B 发送消息,因为服务器知道用户 B 在线 (消息从离线消息表中消失)。
但用户 B 不会收到该消息。
connection.login(userName, userPwd, UiUtility.getMyPhoneNO());
PacketFilter filter = new PacketTypeFilter(org.jivesoftware.smack.packet.Message.class);
packetListener =new PacketListener() {
public void processPacket(Packet packet) {
Message message = (Message) packet;
if (message.getBody() != null) {
String fromName = StringUtils.parseBareAddress(message
.getFrom());
Log.i("XMPPClient", "Got text [" + message.getBody()
+ "] from [" + fromName + "]");
}
}
};
connection.addPacketListener(packetListener, filter);
成功登录后我又可以正常聊天了。但是我想知道为什么那些离线消息丢失了? .我的 PacketListener 无法捕获那些离线消息。请帮助我
【问题讨论】:
-
嗨@Phanindra。你有没有找到任何解决方案。我也陷入了同样的境地。
标签: android xmpp openfire asmack