node.js - 关于 socket.io 中的房间创建
问题描述
我想创建一个房间,其中房间应该不区分大小写意味着房间 a 和房间 A 应该打开同一个房间或房间 LOT 和房间 LOt 也应该打开同一个房间。那么我应该怎么做才能在房间里做出这样的改变。
解决方案
在连接之前和发送消息之前,将房间名称的所有字符转换为小写(或大写)。
服务器端:
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...'});
推荐阅读
- ssas - 如何在 MDX 语句 SSAS 中使用成员名称而不是他的键
- swift - XCFramework 问题,标识符为“ios-armv7_arm64”的库已存在
- angular - 视图初始化后的 HTML 渲染问题
- java - 参数匹配器的使用无效!预计 2 个匹配器,1 个记录
- javascript - 退出时是否需要分离所有 Firestore 侦听器?
- python-3.x - 使用 Python pathlib 获取没有文件名的文件的绝对路径
- javascript - 通过调用一个 API 将文档插入到不同的集合中
- python - 例如,有没有办法在本地发送 SMTP 电子邮件而不是使用 gmail?
- javascript - 比较 2 个数组并删除项目
- c# - 从另一个类监听 PropertyChanged