首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在socket.io中加入始终相同的房间?

如何在socket.io中加入始终相同的房间?
EN

Stack Overflow用户
提问于 2019-03-09 06:54:49
回答 1查看 505关注 0票数 1

我正在尝试使用socket.io创建一个聊天应用程序,我要做的是创建一个只有两个人的房间,如果房间已经有两个人,另一个人被创建等等,我的问题是假设你加入了10号房间,但你刷新了网页,使其断开了你与房间2的连接,所以当你寻找一个空房间时,你将加入2号房间,而不是10号房间,我不能只使用一个常量作为名称,因为每次一个房间满了,我都需要动态创建另一个。

EN

回答 1

Stack Overflow用户

发布于 2019-03-09 08:16:57

您可以将用户加入的房间名称或编号存储到window.localStorage中。

在页面刷新时,检查localStorage中是否有任何值,如果有,则使用该值作为命名空间

https://socket.io/docs/rooms-and-namespaces/

代码语言:javascript
复制
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');
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/55072139

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档