使用基于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发送消息,然后将他们加入自己的私人房间。

10-01 02:05