クライアントを 2 つの部屋から新しい部屋に参加させたいです。これを達成する方法はありますか?お気に入り:
io.sockets.clients(room1 , room2).join(room 3);
クライアントを 2 つの部屋から新しい部屋に参加させたいです。これを達成する方法はありますか?お気に入り:
io.sockets.clients(room1 , room2).join(room 3);
var rooms = ['room1', 'room2', room3]; // list of rooms
socket.join('room1'); // assign the room on connection
var clients = io.sockets.clients(rooms[0]); // list of all clients in room1
for (client in clients)
{
clients[client].leave(rooms[0]); // leave room1
clients[client].join(rooms[2]); // join room3
}
room2 についても同じことを繰り返します。お役に立てれば
socket.IO バージョン 1.0 以降を使用している場合、これは機能しない可能性があります。同じことを次のコードで試してください。
var clients = io.sockets.adapter.rooms['Current Room Name'];
for (var clientId in clients ) {
//this is the socket of each client in the room.
var clientSocket = io.sockets.connected[clientId];
//If you want, you can remove the client form the first(current) room
//clientSocket.leave('current room');
clientSocket.join('new room to join');
}