socket.io是否仅向用户广播?

请检查下面的服务器端代码。 假设在某个瞬间data.id为abc77,那么无论是否引发了socket.io事件,每个连接的浏览器都会收到套接字消息“my_model / abc77:update”,还是只接收到订阅此特定消息的套接字消息,不?

为了澄清,使用一个实际的应用程序:即使他的应用程序的实例没有订阅,黑客能够使用浏览器的开发者控制台接收消息“my_model / abc77:update”,不知道data.id是abc77?

var io = require('socket.io'); io.listen ( server ).sockets.on ( 'connection', function ( socket ) { socket.on('my_model:update', function(data, callback) { database.save(data, function(err){ if (!err) { callback(data); socket.broadcast.emit('my_model/'+data.id+':update'); } }); }); }); 

它被广播到连接的每个其他套接字。 要将广播限制在某一组套接字中,请使用房间 。