2015-07-27 2 views
0

Мне был написан этот код для присоединения к socket.io.Получить список комнат в socket.io

socket.on("requestJoinRoom", function(data){ 
    var rooms = io.sockets.adapter.rooms; 
    for(var key in rooms){ 
      if(key == ''){ 
      continue; 
      } 
      else{ 
       console.log("room id="+key); 
      } 
    } 
}); 

Нет кода 'socket.join (key);'. Но подсказка напечатана «room id = ###########»

Я думаю, что это сокет socket.io имеет хотя бы одну комнату. , но я не занимаю ни одной комнаты.

Как я могу это понять?

My socket.io версия 1.3.5.

+0

Возможно, по умолчанию? (Просто гей, я ничего не знаю о 'socket.io') – bish

ответ

0

Каждое соединение socket.io автоматически устанавливается в комнату при запуске. Затем вы можете добавить его в другие комнаты, если хотите.

От socket.io documentation:

Каждое гнездо в Socket.io идентифицируется случайным, неопределяемых, уникальный идентификатор сокета # Идентификатор. Для вашего удобства каждый сокет автоматически присоединяется к комнате, указанной этим идентификатором.

+0

Тогда, если я хочу присоединиться к другой комнате, я оставлю текущую комнату, прежде чем присоединиться к другой комнате ??? -> socket.leave (currentRoom); -> socket.join (otherRoom); – MikeKim

Смежные вопросы