我在服务器端有以下代码,它在与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');
答案 0 :(得分:8)
是的,确实!只需在io.sockets上调用它。
io.sockets.emit('user connected')
这几乎与broadcast
完全相同,只是broadcast
采取额外步骤将自己排除在广播之外。
编辑:
按照您指定的方式进入房间,请执行以下操作:
io.sockets.in('m1').emit('user message', 'from', 'msg');