2011-12-14 170 views
1

我有一個nodejs + socket.io解決方案和套接字加入不同的房間。我如何從不同的房間選擇插座來向他們廣播特定的消息,而無需使用for循環來阻止所有用戶的應用程序?Nodejs和socket.io選擇套接字廣播

回答

3

解決方法很簡單,使每一個「特殊」用戶(您想組的那些)連接到與Socket.IO一個祕密通道,在你的服務器端代碼:

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

io.sockets.on('connection', function (socket) { 
    if (condition_to_determine_is_user_has_access) { 
    socket.join('specials'); 
    socket.broadcast.to('specials').emit("new special user has joined"); 
    } 
}); 

您可能還希望基於Cookie /會話阻止對未獲準的用戶訪問該頻道。

更多此處瞭解:http://www.danielbaulig.de/socket-ioexpress/