Socketio特定客户端加入会议室

时间:2017-04-27 07:51:06

标签: node.js socket.io

我知道我可以使用

socket.join(room);

但这不是我想要的。 我想选择连接到服务器的特定客户端并让他加入会议室。 所以它看起来像那样:

OpEhq_0m7wzkZenVAAAB.join(room)

OpEhq_0m7wzkZenVAAAB是单个客户。

2 个答案:

答案 0 :(得分:2)

要使客户端加入会议室,您必须获取客户端对象,然后您可以使用它来加入,要获取客户端对象,您必须在这样的连接上将客户端对象存储在数组中,

var i;
io.on('connection', function(socket){
    array[i]=socket;
    i++;
}

之后,如果您想要特定的客户加入空间,您可以这样做,

array[0].join(room);
array[1].join(room);

希望它会有所帮助..!

答案 1 :(得分:-1)

所有套接字都存储在io对象中。
您需要客户端的套接字ID才能获取socket对象。

const socketId = 'bLaHbLahSoCkEtId';
io.sockets.sockets.get(socketId).join('blah-blah-room');