javascript - 通过node.js和socket.io向特定用户发送数据

标签 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 x 2 用户可以获取数据。

因此,用户 1 和 2 拥有“ channel ”,用户 3 和 4 拥有他们的“ channel ”。

最佳答案

您需要要发送请求的套接字的 ID (socket.id)。也许您需要一个包含 user_id 及其 socketID 的数组(您可以在用户输入时保存它)。然后,当您知道套接字 ID 时,您就可以仅向该套接字发送消息。

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

关于javascript - 通过node.js和socket.io向特定用户发送数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12261766/

相关文章:

JavaScript 保留字 : "preset"

javascript - 带有 Google API 狂热字符的 Django 和 JSON POST

php - 单击并输入的不同行为

node.js - Node puppeteer 截图整页 SPA

node.js - chromedriver 安装失败

javascript - 如何选择字符串的最后两个字符

javascript - 返回数据到index.js Node express

javascript - Node.js/Socket.io 在除 Firefox 之外的所有平台上都可以工作,这可能是缓存问题吗?

typescript - 带有 typescript 客户端的 Socket.io

node.js - 如何优化 socket io 性能?