Handle Client Reconnection Events

The Socket.IO client exposes lifecycle events that help monitor reconnection attempts.

Useful events include:

  • connect.
  • disconnect.
  • connect_error.
  • reconnect_attempt.
  • reconnect.
  • reconnect_failed.

Some reconnection-related events are emitted by the Socket.IO Manager rather than the individual Socket instance.

You can access the Manager through socket.io.

Monitor Reconnection
socket.on('disconnect', (reason) => {
  console.log('Connection lost:', reason);
});

socket.on('connect_error', (error) => {
  console.error('Connection error:', error.message);
});

socket.io.on('reconnect_attempt', (attempt) => {
  console.log('Reconnection attempt:', attempt);
});

socket.io.on('reconnect', (attempt) => {
  console.log('Reconnected after attempts:', attempt);
});

socket.io.on('reconnect_failed', () => {
  console.error('Reconnection attempts exhausted');
});

Registers listeners for connection errors and reconnection lifecycle events. Manager-level events are registered through socket.io.

Key Takeaways
  • Socket.IO exposes connection lifecycle events.

  • Manager-level reconnection events are registered through socket.io.

  • Use lifecycle events to update application status.