发送到一个房间,并使用每个插座的个人属性作为参数

时间:2015-10-20 19:49:13

标签: javascript node.js socket.io

我希望向套接字室发出一个函数,为函数提供一个特定于每个套接字的参数。

在我的代码中,此特定变量是玩家的号码。当套接字加入房间时,根据游戏中已有多少玩家设置此属性。例如:

socket.player = 1;

我房间的所有插座都有socket.player的值。简而言之,发送到房间中每个套接字的函数应该具有该套接字的.player属性作为参数。为了澄清,我从任何socket.on范围之外发出。

1 个答案:

答案 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在你在房间里广播或发射时使用相同的东西。