socket.io-client icon indicating copy to clipboard operation
socket.io-client copied to clipboard

Socketio client keeps reconnecting after ping timeout, even after exhausting all reconnection attempts

Open Hackatosh opened this issue 2 years ago • 1 comments

Describe the bug What we observes :

  • Some of our users disconnect with a "ping timeout" logged server side
  • They try to reconnect multiple times using their current sid, but the server respond with a 400 (Session ID unknown). We have set reconnectAttempts to 3 and they seem to exhaust all the attempts.
  • They try to reconnect with a new sid
  • They encounter another ping timeout, and it starts all over again

And this goes on and on and on. Some of our users are making more than 100 000 requests a day to our websockets server only to do all those reconnections. We noted that the impacted clients seems to exclusively use long-polling and never upgrade to websocket

What I do not understand is why does the socketio client try to connect with another sid after exhausting the 3 reconnection attempts.

To Reproduce

We managed to reproduce the problem by using a Chrome browser and limiting the bandwith to 1kb/s.

Socket.IO server version: 4.6.0 Socket.IO client version: 4.6.0

Expected behavior We expect the reconnection to stop after exhausting all the reconnect attempts

Platform:

  • OS: Docker image built on top of node:16-alpine

Hackatosh avatar Feb 10 '23 18:02 Hackatosh

Interesting. I wonder if that's what I encountered as well here

maxime1992 avatar Feb 09 '24 23:02 maxime1992