繁体   English   中英

使用Node.js和Socket.io流式搜索查询(流式传输到给定的套接字!)

[英]Streaming search queries with Node.js and Socket.io (streaming to a given socket!)

我正在Node中编写一个简单的应用程序,该应用程序将在客户端收集搜索查询,将其发送到Node服务器,然后从服务器发送到管理页面,我可以在其中跟踪它们。 但是我想牢记安全性,所以我想将搜索查询仅从Node发送到管理页面。 这是我到目前为止的内容:

节点服务器:

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);
    });
});

管理员:

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

上面的代码运行完美,但是我只想通过管道将“ search_query”发送到管理页面(由于安全原因)。 现在,我的Node服务器在任何地方广播数据。 如何修改脚本? 提前致谢。

我希望管理员将消息发送到服务器(比“ AdminLogin”更安全)以注册为admin,然后您只需将其发送给该客户端即可。

服务器:

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);
    }
  });
});

管理员:

$(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);
  });
});

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM