问题如下:
用户使用特定的socketId连接到服务器,并与特定房间的合作伙伴一起放置。那个房间对他们来说是两个人,房间不会再被重复使用。
但是,由于互联网故障,用户断开连接然后重新连接。
我的问题是,当他们重新连接时,我如何将用户连接到他们正在使用的房间?
问题是当他们重新连接socketId更改时,因为它正在创建一个新连接,所以我无法使用它来识别它们。 Ip也不会工作,因为不止一个人可以在同一家庭中使用该网站,或者同一个人可以打开两个标签。
谢谢。
答案 0 :(得分:0)
var room = user1 + user2;
socket.join(room);
io.to(room).emit('message', message);
可以根据用户名创建房间,这里通过按升序连接用户名来创建房间。因此,当用户A连接到B或反之时,它们连接到同一个房间,即AB。