首页 > 解决方案 > 关于 socket.io 中的房间创建

问题描述

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

标签: node.jssocket.io

解决方案


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

服务器端:

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...'});

推荐阅读