如何解决用户在 OpenFire 中在线显示,即使应用程序处于后台或处于终止状态
我们正在为我们的应用程序使用 XMPPFramework 和 Openfire(版本:4.6.2)。
杀死应用程序或将其置于后台模式后,仍然显示用户在线几分钟,然后变为离线。
我们尝试了空闲连接策略时间,但仍然一无所获。
欢迎提出建议。
解决方法
我在一个项目中遇到过类似的问题,经过调查发现是在使用流恢复功能(流管理 XEP-0198)时发生的。
如果在启动新流时启用流恢复,Openfire 不会立即将用户标记为离线,而是将其会话标记为分离状态。因此客户端应用程序可以再次恢复流,而无需完全登录。
如果您不使用流恢复,用户将立即离线。
启用流管理时,如果客户端发送以下数据包,则在流上启用恢复功能。
<enable xmlns='urn:xmpp:sm:3' resume='true'/>
对于这个数据包,服务器通过发回确认:
<enabled xmlns='urn:xmpp:sm:3' id='some-long-sm-id' resume='true'/>
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。