我希望向套接字室发出一个函数,为函数提供一个特定于每个套接字的参数。
在我的代码中,此特定变量是玩家的号码。当套接字加入房间时,根据游戏中已有多少玩家设置此属性。例如:
socket.player = 1;
我房间的所有插座都有socket.player
的值。简而言之,发送到房间中每个套接字的函数应该具有该套接字的.player
属性作为参数。为了澄清,我从任何socket.on
范围之外发出。
答案 0 :(得分:1)
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循环中使用emit,实际上socket.io在你在房间里广播或发射时使用相同的东西。