Création de chambres dans Socket.io

Je voudrais demander votre aide. J'ai un moment difficile dans mon côté client de socket.io, je voudrais appeler ce code dans mon côté client pour créer une pièce dans socket.io:

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

Je ne sais pas si c'est correct, sinon Aidez-moi à corriger ce gars. Je ne suis pas à pro dans node JS et sockets mais j'ai déjà lu leurs wikis. Y a-t-il un moyen possible de créer de la place?

Merci Les gars.

31
demandé sur Joenel de Asis 2013-10-03 07:25:14

1 réponses

Chambres dans Socket.IO pas besoin d'être créé, un est créé quand un socket le rejoint. Ils sont joints côté serveur, vous devez donc indiquer au serveur d'utiliser le client.

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

Dans l'exemple ci-dessus, une pièce est créée avec un nom spécifié dans la variable room. Vous n'avez pas besoin de stocker cet objet room n'importe où, car il fait déjà partie de l'objet io. Vous pouvez ensuite traiter la pièce comme sa propre instance de socket.

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

Donc pour créer une chambre à partir du client, voici à quoi cela pourrait ressembler:

// 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
répondu hexacyanide 2013-10-03 03:29:54