Node.js 如何确定主机是否可访问?

Node.js 如何确定主机是否可访问?,node.js,Node.js,如何确定某个IP地址是否可连接 我需要编写一个小的node.js示例,尝试连接到ip:port,并返回true或false,从而确定主机是否可访问 如果您感兴趣的只是HTTP,则可以使用HTTP HEAD请求(而不是POST/GET): 对于tcp套接字,只需使用 您的解决方案适用于HTTP服务器的互操作,但我需要验证是否可以与某个主机建立TCP连接。10x获得提示答案。这正是我所需要的——为客户端建立tcp连接? function hostAvailable(url) { var req

如何确定某个IP地址是否可连接


我需要编写一个小的
node.js
示例,尝试连接到
ip:port
,并返回
true
false
,从而确定主机是否可访问

如果您感兴趣的只是HTTP,则可以使用HTTP HEAD请求(而不是POST/GET):

对于tcp套接字,只需使用


您的解决方案适用于HTTP服务器的互操作,但我需要验证是否可以与某个主机建立TCP连接。10x获得提示答案。这正是我所需要的——为客户端建立tcp连接?
function hostAvailable(url) {
  var req = new XMLHttpRequest();
  req.open('HEAD', url, false);
  req.send();
  return req.status!=404;
}
var options = {
  host: 'www.google.com',
  port: 80,
  path: '/index.html'
};

http.get(options, function(res) {
  if (res.statusCode == 200) {
    console.log("success");
  }
}).on('error', function(e) {
  console.log("Got error: " + e.message);
});

function testPort(port, host, cb) {
  http.get({
    host: host, 
    port: port 
  }, function(res) {
    cb("success", res); 
  }).on("error", function(e) {
    cb("failure", e);
  });
}
function testPort(port, host, cb) {
  net.createConnection(port, host).on("connect", function(e) {
    cb("success", e); 
  }).on("error", function(e) {
    cb("failure", e);
  });
}