【问题标题】:Openfire offline message in wrong orderOpenfire离线消息顺序错误
【发布时间】:2013-07-16 08:18:07
【问题描述】:

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

例如,在线用户向离线用户发送 3 条单独的消息“A”、“B”和“C”。 当此离线用户随后上线时,未按正确顺序接收消息。他将显示“C”、“B”和“A”。为什么会这样?以及如何解决这个问题?

提前感谢您的帮助。

【问题讨论】:

    标签: android xmpp openfire


    【解决方案1】:

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

    XMPP 服务器必须确保按顺序处理节和 它通过给定输入流从 连接的客户端或远程服务器。

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

    -- RFC6120 Section 10.1

    没有明确提及离线消息,但它们只是服务器功能,并没有记录在协议中。但是,它们也不例外——服务器仍应遵循这些规则。

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

    【讨论】:

    • 我会尝试重新安装openfire,看看这个问题是否仍然存在。
    • 重新安装openfire后问题仍未解决。经过几次尝试,我仍然收到错误的消息顺序。我会做一个错误报告并写到 openfire 论坛。
    猜你喜欢
    • 2017-03-16
    • 2015-04-18
    • 2014-10-11
    • 2016-12-09
    • 1970-01-01
    • 2014-11-14
    • 2014-12-02
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多