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