我想向一组套接字发出一个函数,为该函数提供一个特定于每个套接字的参数。
在我的代码中,这个特定变量是玩家的号码。当套接字加入房间时,该属性的设置取决于游戏中已有的玩家数量。例如:
socket.player = 1;
我房间里的所有 socket 都会有一个 socket.player
值。简而言之,发送到房间中每个套接字的函数应该将该套接字的 .player
属性作为参数。澄清一下,我是从任何 socket.on
范围之外发出的。
最佳答案
var namespace = '/';
var roomName = 'my_room_name';
for (var socketId in io.nsps[namespace].adapter.rooms[roomName]) {
var socket = io.sockets.connected[socketId];
socket.emit('function name', socket.player);
}
当需要时,不要害怕在 for 循环中使用 emmit,实际上,当你在房间中广播或 emmit 时,socket.io 正在使用相同的东西。
关于javascript - 发送到房间,并使用每个套接字的单独属性作为参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33245591/