A) (important) - ClientPing is not disposed on connection close, leading to pings to nowhere. Maybe I found the right place to trigger the disposal, maybe not ;-)
B) (important) I had issues with all my WebSocket use cases, as my replies to server pings were not accepted. See my working solution, which clearly should not be taken over as-is.
C) (optional) During debugging I got exceptions for concurrent write accesses. so I protected it with a semaphore. Not sure if relevant in practice, but might make sense to integrate.
A) (important) - ClientPing is not disposed on connection close, leading to pings to nowhere. Maybe I found the right place to trigger the disposal, maybe not ;-)
B) (important) I had issues with all my WebSocket use cases, as my replies to server pings were not accepted. See my working solution, which clearly should not be taken over as-is.
C) (optional) During debugging I got exceptions for concurrent write accesses. so I protected it with a semaphore. Not sure if relevant in practice, but might make sense to integrate.