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

mam*_*amu 6 node.js socket.io

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

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

io.sockets.on('connection', function (socket) {
  socket.broadcast.emit('user connected');
});
Run Code Online (Sandbox Code Playgroud)

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

有没有办法使用没有套接字的广播?喜欢

io.broadcast.emit('user connected');
Run Code Online (Sandbox Code Playgroud)

编辑 更像这样?

io.sockets.broadcast.to('m1').emit('user message', 'from', 'msg');
Run Code Online (Sandbox Code Playgroud)

Jer*_*man 8

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

io.sockets.emit('user connected')
Run Code Online (Sandbox Code Playgroud)

broadcast除了broadcast采取从广播中排除自己的额外步骤之外,这几乎就是这样做的.

编辑:

要按照您指定的范围进入房间,请执行以下操作:

io.sockets.in('m1').emit('user message', 'from', 'msg');
Run Code Online (Sandbox Code Playgroud)