通过node.js和socket.io将数据发送给特定用户

时间:2012-09-04 10:39:59

标签: javascript node.js socket.io

推荐人https://stackoverflow.com/questions/12246829/node-js-routing-data-with-socket-io

在客户端:

 // send data on some event
 socket.emit('send', { u: user_id, a: action, v: value });

我有user_id,我可以添加user_id发件人

在服务器上:

socket.on('send', function (data) {
    socket.broadcast.emit('request', { request: data });
});

现在数据被发送到所有听取端口的用户,但我想只有2乘2的用户才能获得数据。

因此,用户1& 2有“频道”,用户3&他们的4个。

1 个答案:

答案 0 :(得分:2)

您需要要发送请求的套接字(socket.id)的id。可能你需要一个带有user_id及其socketID的数组(你可以在用户输入时保存它)。然后,当您知道套接字ID时,您只能向此套接字发送消息。

io.sockets.socket(socketID).emit('request', { request: data });