[英]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.