代码之家  ›  专栏  ›  技术社区  ›  Sandeep Kumar Thakur

当收件人在Ejabberd中突然断开连接时,邮件丢失

  •  0
  • Sandeep Kumar Thakur  · 技术社区  · 8 年前

    由于某些网络问题,收件人突然断开与INTERNET的连接时,邮件丢失。在这种情况下,我想阻止消息丢失。

    示例:用户A和B在线聊天。A向B发送消息。然后用户B突然失去了互联网连接,同时用户A仍在向B发送信息。服务器假设B仍在在线,因为不知道B有网络问题。

    1 回复  |  直到 8 年前
        1
  •  0
  •   Brian Cully    8 年前

    假设是标准的c2s连接,我建议使用 Stream Management ,它由ejabberd支持,但也需要客户端支持。这不会阻止“丢失”消息,但当用户B没有完全断开连接时,它将允许更快的检测和通知。

    另一种选择是使用 XMPP over BOSH ,根据您的具体平台,它有许多可用的客户端库。BOSH的行为与流管理非常相似,同样的警告也适用。

    Message Archive Management 重新连接时同步用户B的客户端。