使用Node.js和Socket.iostream式传输search查询(stream式传输到给定的套接字!)

我正在编写一个简单的应用程序,将在客户端收集search查询,发送到节点服务器,并从服务器到pipe理页面,我可以跟踪他们。 不过,我想牢记安全,所以我想只从节点发送search查询到pipe理页面。 这是我迄今为止:

节点服务器:

var socket = io.listen(app); socket.on('connection', function(client){ client.on('message', function(data){ socket.broadcast(data); }); }); 

客户:

 $.getScript('http://127.0.0.1:8000/socket.io/socket.io.js', function() { var socket = new io.Socket('127.0.0.1', {'port': 8000}); socket.connect(); socket.send(search_query); }); }); 

pipe理员:

 $(document).ready(function(){ socket = new io.Socket('172.20.14.114', {port: 3000}); socket.connect(); socket.on('message', function(data){ console.log(data); }); }); 

上面的代码完美的工作,但我想pipe'search_query'只有pipe理页面(由于安全原因)。 现在我的节点服务器无处不在地播放数据 我如何修改我的脚本? 提前致谢。

我会让pipe理员发送一条消息到服务器(比'AdminLogin'更安全)注册为pipe理员,那么你可以简单地发送到一个客户端。

服务器:

 var socket = io.listen(app), admin; socket.on('connection', function(client){ client.on('message', function(data){ if( data === 'AdminLogin' ) { admin = client; } if( admin ) { admin.send(data); } }); }); 

pipe理员:

 $(document).ready(function(){ socket = new io.Socket('172.20.14.114', {port: 3000}); socket.connect(); socket.send('AdminLogin'); socket.on('message', function(data){ console.log(data); }); });