Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/34.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Node.js 如何使端口20491上的TCP服务器不响应http请求?_Node.js_Sockets_Tcp - Fatal编程技术网

Node.js 如何使端口20491上的TCP服务器不响应http请求?

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

我有一个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.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节点盒带
。你知道我能做什么吗?希望这会有帮助-