断开连接的客户端在具有 websocket 的 Openfire 服务器上保持联机状态

Disconnected clients remaining online on Openfire server with websockets

本文关键字:服务器 联机 状态 Openfire websocket 客户端 连接 断开      更新时间:2023-09-26

我正在使用Openfire作为XMPP服务器,我在其中添加了websocket插件以改进一些聊天功能(即文件传输(。

通过 xmpp 在我的 Web 客户端之间进行通信工作正常,但客户端网络断开连接或更改时存在问题。

事实上,在这些情况下,断开连接的客户端在服务器中仍保持联机状态,即使在空闲连接策略中设置了超时也是如此。

不会向客户端发送 ping,因此 openfire 从不检查客户端连接是否处于活动状态。

我看到一个问题仍然悬而未决:https://igniterealtime.org/issues/browse/OF-963

有没有解决方法可以避免断开连接的客户端在带有 websocket 的 Openfire 服务器上保持在线状态?

我使用旧版本,正好是 4.0.2,我认为对于我的 Openfire 安装,因为这个错误尚未修复。

这就是为什么消息从另一个客户端发送并丢失的原因,导致第一个客户端显示为在线,实际上无论您在 Openfire 配置中设置的时间间隔如何,之后它都会断开客户端的连接。