如何在socket.io循环之外进行广播

时间:2011-07-27 18:49:05

标签: node.js socket.io

我在服务器端有以下代码,它在与socket的新连接上进行函数调用。

var io = require('socket.io').listen(80);

io.sockets.on('connection', function (socket) {
  socket.broadcast.emit('user connected');
});

现在我有另一个模块接受休息请求,它想要在所有打开的套接字上广播。怎么办呢?

有没有办法在没有套接字的情况下使用广播?像

io.broadcast.emit('user connected');

修改 更喜欢这个?

io.sockets.broadcast.to('m1').emit('user message', 'from', 'msg');

1 个答案:

答案 0 :(得分:8)

是的,确实!只需在io.sockets上调用它。

io.sockets.emit('user connected')

这几乎与broadcast完全相同,只是broadcast采取额外步骤将自己排除在广播之外。

编辑:

按照您指定的方式进入房间,请执行以下操作:

io.sockets.in('m1').emit('user message', 'from', 'msg');