Offline behavior

Buffered events

By default, any event emitted while the Socket is not connected will be buffered until reconnection.

While useful in most cases (when the reconnection delay is short), it could result in a huge spike of events when the connection is restored.

There are several solutions to prevent this behavior, depending on your use case:

  • use the connected attribute of the Socket instance
  1. if (socket.connected) {
    socket.emit( /* ... */ );
    } else {
    // ...
    }
  1. socket.volatile.emit( /* ... */ );
  • empty the internal buffer upon reconnection
  1. socket.on("connect", () => {
    socket.sendBuffer = [];
    });

Caught a mistake? Edit this page on GitHub