请检查下面的服务器端代码。假设 data.id 在某个时刻是 abc77,每个连接的浏览器会收到一个套接字消息“my_model/abc77:update”,还是只收到订阅此特定消息的那些,无论是否引发了 socket.io 事件或不是?
澄清一下,使用一个实际的应用程序:黑客是否能够使用浏览器的开发者控制台接收消息“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');
}
});
});
});