我有一个nodejs + socket.io解决方案和套接字加入不同的房间。如何从不同的房间选择套接字向他们广播某个消息,而不使用for循环来阻止所有用户的应用程序?
答案 0 :(得分: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 /会话阻止对不允许的用户访问该频道。