您可能正在使用房间,所以您将执行以下操作以向房间中的每个人发送
io.sockets.in('a').emit('inA', 'foo')然后散发给大家,你可以使用
io.sockets.emit('everyone','bar');您还可以使用名称空间:
io.of('/b').emit('inB', 'buzz');要向除触发用户的用户之外的所有人发出信号,请使用:
io.sockets.broadcast.emit("hello");[编辑]这是更详细的答案:
名称空间背后的想法是,它与其他名称空间(甚至全局名称空间)分开处理。可以将其视为一个全新的socket.io实例,您可以运行新的握手,新事件,授权等,而不会影响彼此的不同名称空间。
这对于说出来
/chat以及
/tracking连接事件具有截然不同的逻辑很有用
Socket.io为您完成所有工作,就好像它是两个单独的实例一样,但是仍然将信息限制为一个连接,这非常聪明。
可能存在一种解决方法,您可以在其中广播到所有名称空间(下面的示例)。简而言之,您不应该这样做,应该使用房间。
for (var nameSpace in io.sockets.manager.namespaces){ io.of(nameSpace).emit("messageToAll", message);}


