Why the openfire's user remains ONLINE even with no SESSION exists in sessions

筅森魡賤 提交于 2019-12-01 05:48:30

This behavior is likely introduced by an XMPP feature called Stream Management.

In short, this feature allows for clients that briefly disconnect to pick up where they left off, without doing all of the things associated with a normal connect (which tends to involve a lot of resources).

This is useful for clients with spotty network connectivity, or devices that kill connections when putting an application to the background, like on mobile phones.

Openfire implements this functionality. Note that packets are not 'lost', as you describe. Instead, all of the unhandled packets will be buffered, and, when the client is 'to late' to reconnect (a timeout applies, I think the default is 3 minutes), those packets will be treated as if they were sent to a disconnected device.

If you want, you can disable this feature by setting the 'stream.management.active' property to 'false' (but for typical setups, you don't want this, as the Stream Management functionality serves a good purpose).

This is a bug with keepalive mechanism. Please check this:

https://issues.igniterealtime.org/browse/OF-963

I am having same issue with version 4.2.3. Switched back to 4.0.2. Issue is reported for version 4.0.3.

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!