使用基于以下内容的SocketIO与人进行私人聊天是一种好方法吗? socket.Id
阅读完文档后,唯一直接的方法就是使用
io.to(`${socket.id}`).emit("event name",{message:msg,from:socketId});
我实现了一个有效的测试用例,但对我而言最困难的部分是,如果一个人关闭浏览器,socketId会发生变化,那么通知每个人有关变化的标准方法是什么? 是否可以使用相同的socketId
重新连接所以任何有经验的人,请告诉我这样做的直接方式是什么
答案 0 :(得分:0)
您可以将人们加入房间。
io.on('connection', function(socket){
socket.join('room_id');
});
//Use this on the server side.
因此,一旦某人发出信号,您可以使用以下方法将其消息广播给房间中的其他人(或私人聊天中的其他人):
socket.to('room_id').emit('Some Message');
因此,您可以使用用户的电子邮件id(或任何其他主键)来创建唯一键,而不是使用socket-id发送消息,然后将他们加入自己的私人房间。