【问题标题】:Swift XMPP messages are lost when client connection lost suddently客户端连接突然丢失时,Swift XMPP 消息丢失
【发布时间】:2019-02-20 03:06:57
【问题描述】:

我在Question 中讨论了同样的问题,但令人惊讶的是,解决方案对我不起作用。

我正在使用 ejabberd 服务器和 ios xmppframework。有两个客户端,A 和 B。

当 A 和 B 都在线时,A 可以成功地向 B 发送消息。如果 B 是 离线,当B再次在线时,B可以收到消息。但是当 B 突然/意外失去连接,例如手动关闭 wi-fi,A发送的消息丢失。 B 永远不会收到这个 信息。我猜原因是B突然失去了连接并且 服务器仍然认为 B 在线。因此,离线消息确实有效 在这种情况下。

所以我的问题是如何确保 A 发送的消息将被 B 接收?确保没有消息丢失。

【问题讨论】:

    标签: ios iphone swift ejabberd xmmp


    【解决方案1】:

    如您所指的问题所述 - 您需要使用 Stream Management (XEP-0198)。它为您的情况提供了一种解决方案 - 当 Internet 连接不好并且您可能会不时失去连接时。没有其他解决方案可以解决您的问题 - XEP-0198 正是您所需要的

    【讨论】:

    • 我已经在我的项目中实现了流管理,但我仍然面临消息跳过问题。
    • 我认为你错过了什么,因为 SM 为你提供了 100% 的耐用性
    猜你喜欢
    • 2015-08-17
    • 2014-02-28
    • 2016-12-02
    • 2015-07-21
    • 1970-01-01
    • 2011-05-30
    • 1970-01-01
    • 1970-01-01
    • 2015-01-17
    相关资源
    最近更新 更多