XMPP iOS Framework检测OpenFire服务器的Internet断开问题

Jay*_*tra 10 sockets xmpp openfire ios xmppframework

我已经使用XMPP iOS Framework和OpenFire服务器实现了聊天应用程序.

幸运的是,应用程序运行成功但我在应用程序中面临一个互联网断开问题.

当用户注销或手动进入离线模式时,它会向他/她的名单发送节.所以他/她的名单知道用户进入离线模式.

现在,当互联网将断开与用户设备的连接时,由于互联网断开连接,应用程序无法向服务器发送在线状态节.因此,他/她的名单将无法获得有关该离线用户的信息,用户将仅以在线模式显示.

我认为像OpenFire服务器这样的东西可能能够检查连接的用户,并且当任何用户断开连接时,它应该向他的名单发送具有离线状态的在线状态,以便他们知道该用户处于离线模式.

如果我能通过任何方式实现此功能,请有人帮助我.

解决这个问题对我很有帮助.

提前致谢.

vit*_*ter 4

这是核心 xmpp 功能,Openfire 必须unavailable代表您发送给您的联系人。所以它看起来像一个错误。但还有一个不同的问题 - 使用移动互联网的用户可能会过于频繁地重新连接,XMPP 社区开发了一个流管理扩展,它允许服务器在快速重新连接时“休眠”客户端会话,并在不更改状态的情况下恢复它。总结:

  1. 检查流管理是否处于活动状态 - 在这种情况下,用户仍将在线固定时间(通常为 5 分钟),然后离线。
  2. 检查 Openfire 是否实现了任何非标准扩展来维护用户会话。
  3. 如果您确定没有任何扩展程序正在“休眠”用户会话 - 那么这确实是一个错误。使用不同的 xmpp 服务器尝试相同的操作 - ejabberdprosody是不错的选择