我正在尝试使用socket.io制作一个聊天应用程序,我要做的是创建一个只有两个人的房间,如果这个房间已经有两个人了,那么创建另一个,依此类推,我的问题是说您加入了会议室10,但刷新了网页,因此它使您与会议室断开连接,另一个人与会议室2断开了连接,因此当您寻找空房间时,您将加入会议室2,而不是会议室10,我不能只使用常量作为名称,因为我需要在每次填满时动态创建另一个。
答案 0 :(得分:0)
您可以将存储用户所加入的房间名称或房间名称。{br /> 在页面刷新时,检查localStorage中是否有任何值,如果是,则使用该值作为您的命名空间
let roomID = localStorage.roomID; // Try to get the ID from localStorage
if ( !roomID ) { // no ID found? Create room and store ID to localStorage
// CREATE A NEW ROOM ID (someGeneratedRoomID) <<< YOUR LOGIC HERE
roomID = localStorage.roomID = someGeneratedRoomID; // Store it
}
// Connect
io.on('connection', function(socket){
socket.join( roomID );
});
// Talk
io.to( roomID ).emit('some event');