【发布时间】:2016-09-04 13:44:40
【问题描述】:
我已经实现了许多 socket.io 命名空间,用户可以根据他们所在的页面连接到这些命名空间。
将数据发送到特定的命名空间:房间组合似乎需要额外的样板文件。
这就是我当前设置命名空间并向给定房间中的套接字发送事件的方式:
1) 设置命名空间
let newsNs = io.of('/news');
newsNs.on(CONNECTION, socket => {
socket.join('political');
});
2) 向/news 命名空间和political 房间中的套接字发送事件:
newsNs.in('political').clients((err, clients) => {
clients.forEach(c => newsNs.connected[c].emit(EVENT, 'data'));
})
是否有一种更简洁、更简洁的方式来向 namespace:room 组合中的所有套接字发出信号,而无需先遍历每个客户端,然后从 someNs.connected 派生套接字?
【问题讨论】:
标签: javascript node.js websocket socket.io