首页 > 解决方案 > 套接字仅发送给一个用户

问题描述

我一直在寻找答案,但其中大多数我无法完全连接到我的代码,所以我希望能得到一些帮助。

我想为特定用户发送消息,例如 2 个人之间的聊天。

例如,如果我选择 John,我怎么能只给他发送一条消息?我在这方面遇到了很多麻烦

在此处输入图像描述

应用程序.js

io.on('connection', function (socket) { 
  socket.on('chat', function (data) {
      console.log(data);

      //Specific user
      //socket.broadcast.to(socketid).emit('message', 'Hello');

  });
});

我有一个 mongodb 数据库,那么如何指定具有选择用户的用户 ID 的 socketid?

标签: node.jssocket.io

解决方案


以下代码可用于向特定客户端发送消息。需要注意的是,每个连接的客户端都有一个唯一的套接字 id。将该 id 存储在一个数组中。您可以使用该 ID 呼叫任何用户。

var id=[];
    io.on('connection', function (socket) { 
      socket.on('chat', function (data) {
          console.log(data);
    id.push(${socket.id});


      });
    });

   //to send to specific user
 io.to(socket#id).emit('hey!')

推荐阅读