diff --git a/src/main/java/com/corundumstudio/socketio/namespace/Namespace.java b/src/main/java/com/corundumstudio/socketio/namespace/Namespace.java index 2555869..35b6abe 100644 --- a/src/main/java/com/corundumstudio/socketio/namespace/Namespace.java +++ b/src/main/java/com/corundumstudio/socketio/namespace/Namespace.java @@ -175,6 +175,11 @@ public class Namespace implements SocketIONamespace { leave(getName(), client.getSessionId()); storeFactory.pubSubStore().publish(PubSubType.LEAVE, new JoinLeaveMessage(client.getSessionId(), getName(), getName())); + for (String joinedRoom : joinedRooms) { + leave(roomClients, joinedRoom, client.getSessionId()); + } + clientRooms.remove(client.getSessionId()); + try { for (DisconnectListener listener : disconnectListeners) { listener.onDisconnect(client);