【问题标题】:how to broadcast when out of socket.io loop脱离socket.io循环时如何广播
【发布时间】:2011-07-28 04:21:20
【问题描述】:

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

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');

【问题讨论】:

    标签: node.js socket.io


    【解决方案1】:

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

    io.sockets.emit('user connected')
    

    这几乎与broadcast 所做的完全一样,只是broadcast 采取了将自己排除在广播之外的额外步骤。

    编辑:

    要像您指定的那样确定房间的范围,请执行以下操作:

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

    【讨论】:

    • 我正在尝试使用需要广播的broadcast.to('m1'),有什么方法可以访问广播吗?
    • 更新帖子以匹配。 “广播”本身只是在当前套接字上设置标志,因此没有全局“广播”对象可以访问;您必须使用命名空间中存在的方法。
    猜你喜欢
    • 2017-06-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-06-12
    • 1970-01-01
    • 2011-08-17
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多