Tworzenie pokoi w Socket.io

Chciałbym prosić o pomoc. Mam ciężki okres po stronie klienta socket.io, chciałbym wywołać ten kod po stronie klienta, aby stworzyć pokój w socket.io:

var rooms = [];
socket.on('create', function (roomname) {
    rooms[room] = room;
    socket.room = roomname;
            socket.join(roomname);
    subscribe.subscribe(socket.room);
});

Nie wiem, czy to jest poprawne, jeśli nie, proszę, pomóż mi to poprawić. Nie jestem profesjonalistą w node js i socketach, ale już przeczytałem ich wiki. Czy jest jakiś sposób na stworzenie pokoju?

Dzięki chłopaki.
Author: Joenel de Asis, 2013-10-03

1 answers

Pokoje w Socket.IO nie trzeba go tworzyć, tworzy się go, gdy dołącza do niego Gniazdo. Są one połączone po stronie serwera, więc trzeba byłoby polecić serwer za pomocą klienta.

socket.on('create', function (room) {
  socket.join(room);
});

W powyższym przykładzie tworzony jest pokój o nazwie określonej w zmiennej room. Nie musisz przechowywać tego obiektu w dowolnym miejscu, ponieważ jest on już częścią obiektu io. Następnie można traktować Pokój jak własną instancję gniazda.

io.sockets.in(room).emit('event', data);

Tak aby stworzyć pokój od klienta, tak to może wyglądać:

// 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);
  });
});
 75
Author: hexacyanide,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2013-10-03 03:29:54