Node.js 如何使端口20491上的TCP服务器不响应http请求?
我有一个TCP服务器,通过套接字连接从GPS设备接收消息:Node.js 如何使端口20491上的TCP服务器不响应http请求?,node.js,sockets,tcp,Node.js,Sockets,Tcp,我有一个TCP服务器,通过套接字连接从GPS设备接收消息: var net = require('net'); var PORT = 20491; var server = net.createServer(function (socket){ socket.on('data',function(data){ var received = new Buffer(data); console.log("Received: "+received.toStr
var net = require('net');
var PORT = 20491;
var server = net.createServer(function (socket){
socket.on('data',function(data){
var received = new Buffer(data);
console.log("Received: "+received.toString('hex'));
});
});
server.listen(PORT);
console.log("Server Address(): "+JSON.stringify(server.address()));
假设我的服务器是myserver.mydomain.com
。如果我在web浏览器上打开它,服务器将接收浏览器GET/[…]
发送的消息,即使我只想在端口20491
上接收消息,而不是80
或8080
我如何才能不接收(阻止?)并非来自所需端口的传入消息
编辑:我想到了这个想法:我能不能在这个jelast+NodeJS+OPENSHIFT服务器上以某种方式阻止某个URL被访问?我找不到任何apache或nginx conf文件,因此我不知道配置文件是如何工作的…在任何情况下,请求都会在应用程序处理之前到达物理系统
在系统级,您可以尝试实施防火墙以防止此类请求。是的,服务器正确地从我的GPS设备接收消息,但是如果我从浏览器访问
myserver.mydomain.com
(我想这与myserver.mydomain.com:80
)时,服务器也会收到不需要的http请求。。。有什么办法可以过滤吗?我尝试了server.listen(PORT,HOST)
,HOST是任何可能的值:127.0.0.1
或localhost
或
或
创建服务器时唯一有效的方法是0.0.0
,我相信当我省略它时会用到它“服务器接收消息”,由“服务器”“你是说你的节目吗?还是物理机器?我是说我的程序,那是我的server.js
文件。很抱歉造成混淆假设我告诉你我正在使用Jelastic+NodeJS基础设施。。。而且这个jelast实现不知何故使用了OPENSHIFT节点盒带
。你知道我能做什么吗?希望这会有帮助-