【问题标题】:Socket.IO & Node.js - Broadcasting to all rooms a given user has joinedSocket.IO & Node.js - 向给定用户加入的所有房间广播
【发布时间】:2013-06-30 09:33:17
【问题描述】:

是否有任何内置方法可以将消息广播到所有个给定用户已加入的房间除了默认房间?我正在使用以下代码 sn-p 来实现这一点,但如果可能的话,我想以更简洁的方式实现同​​样的目标:

for (var room in io.sockets.manager.roomClient[socket.id])) {
    if (key) {
        socket.broadcast.to(key).emit('something');
    }
}

【问题讨论】:

标签: node.js socket.io


【解决方案1】:

我不确定是否有本地方式,但可能类似于(伪代码):

var rooms = {}; (inside client)
on join: rooms[0] = 'roomname'; rooms[1] = 'roomname2'; etc...
for(var i = 0; i < rooms.length; i++) {
    if(rooms[i] != 'default_excludedroomname') {
        io.sockets.in(rooms[i]).emit('message', etc...);
    }
}

【讨论】:

    猜你喜欢
    • 2015-01-24
    • 2015-09-27
    • 1970-01-01
    • 2015-07-28
    • 2012-07-14
    • 2018-08-08
    • 2017-11-06
    • 1970-01-01
    • 2014-07-29
    相关资源
    最近更新 更多