我已经配置了XMPP客户端(iOS)和Openfire,一切正常,只是我无法处理以下情况。


iOS客户端由于网络故障而断开连接。
用户仍在服务器上登录,因为无法断开连接(无网络)。
由于服务器认为用户仍在登录,因此其他消息未存储在服务器中。因此,消息将丢失。
发送方无法发送推送通知,因为接收方(用户)状态仍然在线(无网络发送在线状态)。


我该如何解决这个问题?

最佳答案

我找到了解决方案,不确定是否有效。

在Openfire管理门户中,在“客户端连接设置”->“空闲连接策略”下,有一个选项可在客户端闲置x秒钟时断开客户端的连接。默认情况下是360秒,我将其更改为5秒,这样消息就不会丢失。

我不确定每5秒ping客户一次是否是个好主意。

关于ios - XMPP客户端网络故障和Openfire脱机消息,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/26248729/

10-13 08:37
查看更多