Openfire离线消息的顺序错误

时间:2013-07-17 16:41:31

标签: android xmpp openfire

我在我的android项目中使用smack库来创建即时通讯工具。使用MessageListener接收消息和ChatManager发送消息,我得到错误顺序的离线消息。在我的服务器上安装了Openfire。

例如,在线用户向离线用户发送3个单独的消息“A”,“B”和“C”。 当此离线用户然后联机时,将不按正确的顺序接收消息。他将显示“C”,“B”和“A”。为什么会这样?这个问题怎么解决?

提前感谢您的帮助。

1 个答案:

答案 0 :(得分:3)

这似乎是一个Openfire错误或配置错误。应按顺序传递XMPP消息:

  

XMPP服务器必须确保节的顺序处理   它从一个给定的输入流接收的其他XML元素   连接客户端或远程服务器。

     

有序处理适用于(a)用于协商的任何XML元素   和管理XML流,以及(b)XML节的所有用途,[...]

- RFC6120 Section 10.1

未明确提及脱机消息,但它们只是服务器功能,未在协议中记录。但是他们也没有例外 - 服务器仍应遵循这些规则。

我建议发布到Openfire forum或提交bug report