使用 Node.js 和 Socket.io 流式传输搜索查询(流式传输到给定套接字!)
我正在 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”仅传输到管理页面(由于安全原因)。现在我的节点服务器到处广播数据。如何修改我的脚本?提前致谢。
I am writing a simple app in Node that will collect search queries on client side, send it to Node server and from server to admin page where I can track 'em. However I want to keep in mind security so I want to send search queries from Node ONLY to admin page. This is what I have so far:
Node Server:
var socket = io.listen(app);
socket.on('connection', function(client){
client.on('message', function(data){
socket.broadcast(data);
});
});
Client:
$.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);
});
});
Admin:
$(document).ready(function(){
socket = new io.Socket('172.20.14.114', {port: 3000});
socket.connect();
socket.on('message', function(data){
console.log(data);
});
});
The code above works perfectly but I want to pipe 'search_query' ONLY to the admin page (due to security reasons). Now my Node server broadcasts data everywhere. How do I modify my script? Thanks in advance.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
我会让管理员向服务器发送一条消息(比“AdminLogin”更安全的消息)以注册为管理员,然后您可以简单地发送给该客户端。
服务器:
管理员:
I'd have the admin send a message to the server (something more secure than 'AdminLogin') to register as admin, then you can simply send to that one client.
Server:
Admin: