Openfire Websocket Plugin do not send XMPP ping to idle clients

Hi, i recently added the websocket plugin to my openfire instance.

communication via xmpp works fine and quick,

i have usually javascript clients from browsers.

the issue i found is that on network disconnections, for example when a mobile switch to wifi or when the cable is pulled off,
the client still remains in openfire and is never cleaned up;
this happen even if i set a timeout(i.e. 60 seconds) in the idle connection policy and an xmpp ping to be sent;

indeed the ping is never sent, so openfire never checks if client connections are active;

note that this works fine with http bind connections.

with this behaviour the websocket plugin is quite useless because after some time there are a lot of client connections that are lost

but appear to be active, and this create confusion in a chat application.

any suggestions?
is it a bug?

Hi Daniele -

There is a keep-alive mechanism in the WebSocket plugin that is expected to close the session on the server if the remote endpoint (client) is unreachable. However, it is possible that this is not working as expected, and I agree this is a critical capability. I have opened a ticket (OF-963) to investigate. Thanks for your report.

Regards,

Tom