关于 socket.io 中的房间创建

Posted

技术标签:

【中文标题】关于 socket.io 中的房间创建【英文标题】:Regarding the rooms creation in socket.io 【发布时间】:2019-06-13 14:29:45 【问题描述】:

我想创建一个房间,其中房间应该不区分大小写,这意味着房间 a 和房间 A 应该打开同一个房间或房间 LOT 和房间 LOt 也应该打开同一个房间。那么我应该怎么做才能在房间里做这样的改变。

【问题讨论】:

嗨,欢迎来到 ***。请编辑问题以包括:现有源代码的相关方面、您想要的输出以及您获得的输出。这将帮助社区帮助你。目前我们真的没什么可做的(例如,在这种情况下,什么是“房间”?)。谢谢。 抱歉,我看到房间是 socket.io 的一个组件。但是,我们仍然需要您的源代码。 【参考方案1】:

在连接之前和发送消息之前,将房间名称的所有字符转换为小写(或大写)。

服务器端:

io.on('connection', function(socket)

    // Join the room 
    socket.on('join', function(room)
        socket.join(room.toLowerCase());
    

    // Send message to room
    socket.on('message', function(data)
        socket.broadcast.to(data.room.toLowerCase()).emit('message', data.message);
            
);

客户端:

socket.emit('join', 'RoOmNaMe');
socket.emit('message',  room: 'rOoMnAmE', message: 'Some message...');

【讨论】:

以上是关于关于 socket.io 中的房间创建的主要内容,如果未能解决你的问题,请参考以下文章

使用 socket.io 创建房间

如何使用 nestjs 和 socket.io 创建房间

socket.io 只向房间 A 和 B 中的用户广播

socket.io 创建动态房间

无法向socket.io中的房间发送消息

Node.js 和 Socket.io 创建房间