如何将我的聊天消息设为私人?

时间:2018-08-01 10:20:37

标签: javascript node.js socket.io ejs

现在我的聊天正在进行,但它像群聊一样工作,因为第三方将能够看到这些消息。我想在两个用户之间将其设为私有,以便当第三个用户登录时,他们将看不到其他用户在讲话。

var io = socket(server);


io.on("connection", function(socket){
    console.log("made socket connection", socket.id);

    socket.on("chat", function(data){
        var messages = {
            session: data.session,
            message: data.message,
            sender: data.handle,
        };
        MsgModel.create(messages);
        io.sockets.emit("chat", data);
    });

    socket.on("typing", function(data){
        socket.broadcast.emit("typing", data);
    });
});

1 个答案:

答案 0 :(得分:0)

每当新客户端以其join作为数据加入时,从客户端发出userid事件。然后在服务器端,您可以使用此join事件将用户及其userid添加到房间。

io.on('connection', function(socket){
  socket.on("join", function(data){
      socket.join(data.userId)
    })
  })

现在您每个userid都有房间,如果您想向某些特定用户发送东西,您可以发送到那个房间,

io.to(userid).emit(data)