Node.js 测试NAT的多个http连接

Node.js 测试NAT的多个http连接,node.js,node.js-connect,node.js-client,Node.js,Node.js Connect,Node.js Client,我在一个项目中,我需要使用node.js建立最可能的http连接,并保持它们为nat端口测试打开,但我不确定如何才能做到这一点,直到现在我得到了以下信息: var http = require('http'); var http_options = { hostname: '193.136.212.161', port: 80, path: '/', method: 'GET', agent: false, headers: { 'C

我在一个项目中,我需要使用node.js建立最可能的http连接,并保持它们为nat端口测试打开,但我不确定如何才能做到这一点,直到现在我得到了以下信息:

var http = require('http');
var http_options = {
    hostname: '193.136.212.161',
    port: 80,
    path: '/',
    method: 'GET',
    agent: false,
    headers: {
       'Connection':'keep-alive'
    }
};

var req = http.request(http_options)
  .on("socket", function (socket) {
      console.log('got connected!');
   });
req.end();

不幸的是,它关闭了连接,而不是保持它的活力,如果我能有一些提示,以推进将是伟大的

它不能使它保持活动状态,因为您只是在记录了文本之后就结束了连接。yh我注意到,即使我删除了它,我不是应该看到一些数据包探测连接吗?你说的“数据包探测连接”是什么意思?如果您不明确这样做,将不会发送任何内容。顺便说一句,您也可以使用telnet进行此测试;在端口80上侦听的telnet服务器,以及通过NAT连接到该端口的telnet客户端。然后定期通过它们发送数据。这可能比这容易,也可能不容易。我认为通过保持连接的活动状态,它会在某个时间间隔发送一个数据包,一定是读取了关于它的错误信息