NodeJS - 如何获取远程IP地址

时间:2015-01-24 22:29:00

标签: node.js ip real-time

对于我的项目,我需要获取另一个NodeJS服务器的远程ip地址。 事实上,在比利时等许多国家,电信提供的计算机的IP地址不是固定的IP,每xx小时都可以更改一次。

需要知道如何实时获取远程NodeJs计算机的Internet IP地址。

示例:互联网提供商更改了nodeJS计算机的IP:我想知道" relative"实时新IP。

非常感谢, visualight

1 个答案:

答案 0 :(得分:0)

如果您要联系的删除服务器切换其IP地址并且没有告诉您(例如,以某种方式联系您的服务器),您基本上没有运气。

如果有一个域指向另一台计算机,您可以使用此片段(我从official docs无耻地复制)以强制DNS解析:

var dns = require('dns');

dns.resolve4('www.google.com', function (err, addresses) {
  if (err) throw err;

  console.log('addresses: ' + JSON.stringify(addresses));

  addresses.forEach(function (a) {
    dns.reverse(a, function (err, domains) {
      if (err) {
        throw err;
      }

      console.log('reverse for ' + a + ': ' + JSON.stringify(domains));
    });
  });
});

更新module on npm允许您获取计算机的公共IP地址。它非常简单,因为它只是对curlmyip.com提出请求并返回结果。您可以使用setInterval设置一些轮询间隔,并在检测到更改时将其发送到其他节点。