Ответ 1
Номера в Socket.IO не нужно создавать, один создается, когда к нему присоединяется сокет. Они объединены на стороне сервера, поэтому вам нужно будет проинструктировать сервер с помощью клиента.
socket.on('create', function (room) {
socket.join(room);
});
В приведенном выше примере создается комната с именем, указанным в переменной room
. Вам не нужно хранить этот объект комнаты в любом месте, потому что он уже является частью объекта io
. Затем вы можете рассматривать комнату как свой собственный экземпляр сокета.
io.sockets.in(room).emit('event', data);
Итак, чтобы создать комнату у клиента, это будет выглядеть так:
// client side code
var socket = io.connect();
socket.emit('create', 'room1');
// server side code
io.sockets.on('connection', function(socket) {
socket.on('create', function(room) {
socket.join(room);
});
});