2013-06-29 23 views
0

是否有任何內置方式廣播消息所有客房給定用戶已加入除了默認一個?我用下面的代碼來實現這一點,但我想達到同樣的,如果一個清潔的方式可能:Socket.IO和Node.js的 - 廣播到所有的房間給定的用戶已經加入

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

或多或少你應該對你的解決方案有好處。我無法找到「開箱即用」的本地解決方案。您也可以查看https://github.com/LearnBoost/socket.io/wiki/Rooms。 –

回答

0

我不知道是否有原生的方式,但也許像(僞代碼):

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...); 
    } 
} 
相關問題