Leave a Room

A connected socket can leave a room using socket.leave(roomName).

This is useful when a user switches conversations, exits a project, or closes a group chat.

The server should validate the room identifier before removing the socket from the room.

Leave Room Event
socket.on('room:leave', async (payload, acknowledge) => {
  const room = payload?.room;

  if (typeof room !== 'string') {
    acknowledge?.({
      success: false,
      error: 'Invalid room'
    });
    return;
  }

  await socket.leave(room);

  acknowledge?.({
    success: true,
    room
  });
});

The socket leaves the requested room and receives an acknowledgement confirming the operation.

Key Takeaways
  • socket.leave() removes a socket from a room.

  • A socket remains connected after leaving a room.

  • Room membership and connection lifecycle are separate concepts.