TooTallNate / Java-WebSocket

A barebones WebSocket client and server implementation written in 100% Java.
http://tootallnate.github.io/Java-WebSocket
MIT License
10.47k stars 2.57k forks source link

Add support for passive connection lost checking #1290

Open robert-s-ubi opened 1 year ago

robert-s-ubi commented 1 year ago

Description

When both ends of a WebSocket connection need to know when the connection is lost, both sending pings is redundant, as a received ping already indicates that the peer is still connected.

Add an optional boolean parameter to the setConnectionLostTimeout() method, which when set to true makes the connection lost checking passive, i.e. the check never sends out pings, but only checks whether an incoming ping was received recently enough.

For passive connection lost checking, the peer must be known to do active connection lost checking with a timeout equal (or lower) than the one locally used.

How Has This Been Tested?

We have included this change in our backend software and it works as desired.

Types of changes

Checklist: