发送到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为例。