Como cancelar a inscrição corretamente em uma sala socket.io e destruí-la?

Tenho um loop interno para cada soquete:

if (!chat.room.list[hash]) { // room has expired
    socket.leave(hash);
    delete chat.user.list[socket.store.data.id].rooms[hash];
    delete socket.store.data.inRooms[hash]; // delete room hash from user store
}

socket.leave(hash) não faz nada - o soquete ainda recebe as mensagens enviadas parahash quarto

Como observação lateral - se eu me conectar ao cliente Anna e ao cliente Bob - ambos receberão mensagens, mas se eu me reconectar com o cliente Bob - Bob não poderá enviar mensagens para Ann

xiste algum documento API API de soquete completo (como não consegui encontrar exemplos de socket.leave (room)

EDIT: Entendi! O soquete IO salva alças de sala com barra, então você precisa usarsocket.leave('/'+hash)

questionAnswers(4)

yourAnswerToTheQuestion