我已经配置了 XMPP 客户端(iOS)和 Openfire ,一切正常,除了我无法处理以下情况。
- iOS 客户端因网络故障而断开连接。
- 用户仍登录在服务器上,因为无法断开连接(无网络)。
- 更多消息不会存储在服务器中,因为服务器认为用户仍处于登录状态。因此消息会丢失。
- 由于接收者(用户)状态仍处于在线状态(没有网络可发送状态),因此发送者无法发送推送通知。
如何解决这个问题?
最佳答案
我找到了一个解决方案,不确定它是否有效。
在 Openfire 管理门户中,在“客户端连接设置”->“空闲连接策略”下,有一个选项可以在客户端空闲 x 秒后断开连接。默认情况下是 360 秒,我已将其更改为 5 秒,这样消息就不会丢失。
我不确定每 5 秒 ping 一次客户端是否是一个好主意。
关于ios - XMPP 客户端网络故障和 Openfire 离线消息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26248729/