Skip to main content
Version: 4.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 = [];});