在Socket.io中创build房间

我想请求你的帮助。 我在socket.io的客户端很困难,我想在客户端调用这个代码在socket.io中创build一个空间:

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

我不知道这是否正确,如果不是,请帮我纠正这个家伙。 我不是在节点js和套接字赞成,但我已经阅读他们的维基。 有没有什么办法可以创造空间?

多谢你们。

       

网上收集的解决方案 "在Socket.io中创build房间"

Socket.IO中的房间不需要被创build,当一个套接字join时,会创build一个。 他们在服务器端join,所以你将不得不使用客户端指示服务器。

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

在上面的示例中,使用variablesroom指定的名称创build了一个room 。 您不需要在任何地方存储这个房间对象,因为它已经是io对象的一部分。 然后,您可以像处理它自己的套接字实例一样对待它。

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

所以要从客户端创build一个空间,这可能是这样的:

 // 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); }); });