发送到socket.io 1.X命名空间的特定空间

  • 我已经实现了一些用户可以基于它们所在的页面连接到的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')); }) 

有没有一种更清晰,更简洁的方式发射到名称空间中的所有套接字:房间组合,而不是先迭代每个客户端,然后从someNs.connected派生套接字?

一个简单的newsNs.to('political').emit(payload)应该就足够了。

http://socket.io/docs/rooms-and-namespaces/#joining-and-leaving为例。