gpt4 book ai didi

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

转载 作者:太空宇宙 更新时间:2023-11-04 01:16:45 24 4
gpt4 key购买 nike

我正在 Node 中编写一个简单的应用程序,它将在客户端收集搜索查询,将其发送到 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”更安全的消息)以注册为管理员,然后您只需发送给该客户端即可。

服务器:

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

关于javascript - 使用 Node.js 和 Socket.io 流式传输搜索查询(流式传输到给定套接字!),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5599364/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com