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.