javascript - socket.io 如何发送到以某些关键字开头的房间

标签 javascript node.js socket.io

如何发送到以关键字开头的房间。喜欢

//因为我有 3 个名为 game1、game2、chat1 的房间

io.emit(\game.\g,"你好")

//期望发送到game1,game2

最佳答案

步骤:

  1. 将您的房间插入数组。

  2. 按关键字过滤房间。

  3. 遍历筛选出的房间。

  4. 发给他们每个人。

let keyword = 'game';
const rooms = ['game1','game2','chat1'];
let filteredRooms = rooms.filter(room => room.indexOf(keyword) > -1);
filteredRooms.forEach(filteredRoom => {
  console.log(filteredRoom);
  // io.emit(filteredRoom, "hello");
});

关于javascript - socket.io 如何发送到以某些关键字开头的房间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54178396/

相关文章:

node.js - 使用socket.io中的socket.id断开客户端的套接字

javascript - Socket.IO:从房间中删除特定的 socket_id?

javascript - 基于 HTML/CSS/JS 中先前输入字段的新输入

sql - 如何在 Sequelize 中将字段分组为数组?

javascript - mongoose .find() 方法返回具有不需要属性的对象

javascript - Node.JS 服务器未发送数据(或客户端未接收)

javascript - 替换编码的 £ 符号

javascript - fullPage.js 从幻灯片 2 开始

javascript - 如何使用 javaScript 和 jQuery 从 URL 保存 json 对象

node.js - 如何让nodeunit检测并运行子文件夹中包含的测试?