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