Используя socket.io на nodejs, я пытаюсь «изменить» комнату в зависимости от поведения пользователя. Для этого:
- получить текущую комнату
- покинуть комнату
- присоединиться к новой комнате
Использование строковых констант дляимя комнаты все работает нормально, но с помощью переменной это не работает. Ошибка не отображается, но розетка не покидает комнату. В приведенном выше коде введите «room before2» и «room after» и напечатайте один и тот же список, а currentRoom равен ключевой записи socket.adapter.rooms
var newroom = "funnyroom" + room;
//get the current from room list
var currentRoom = getCurrentRomm(rooms);
logger.debug("room before " + Object.keys(socket.adapter.rooms));
socket.leave(currentRoom, function (err){
logger.debug("error " + err);
logger.debug("room after " + Object.keys(socket.adapter.rooms));
});
socket.join(newroom);