Skip to main content
Version: 3.x

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
if (socket.connected) {
socket.emit( /* ... */ );
} else {
// ...
}
socket.volatile.emit( /* ... */ );
  • empty the internal buffer upon reconnection
socket.on("connect", () => {
socket.sendBuffer = [];
});