NodeJS - 如何获取远程IP地址
NodeJS - How to get remote IP Address
对于我的项目,我需要获取另一个 NodeJS 服务器的远程 IP 地址。
事实上,在比利时等很多国家,电信提供的电脑IP地址并不是固定IP,每隔xx小时就会变化
我想知道如何实时获取远程NodeJs计算机的Internet IP地址。
示例:互联网提供商更改 nodeJS 计算机的 IP:我想“相对”实时地知道新 IP。
非常感谢,
视觉
如果您想与之通信的远程服务器切换其 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 允许您获取机器的 public IP 地址。它非常简单,因为它只是针对 curlmyip.com 和 returns 结果发出请求。您可以使用 setInterval
设置一些轮询间隔,并在检测到更改时将其发送到其他节点。
对于我的项目,我需要获取另一个 NodeJS 服务器的远程 IP 地址。 事实上,在比利时等很多国家,电信提供的电脑IP地址并不是固定IP,每隔xx小时就会变化
我想知道如何实时获取远程NodeJs计算机的Internet IP地址。
示例:互联网提供商更改 nodeJS 计算机的 IP:我想“相对”实时地知道新 IP。
非常感谢, 视觉
如果您想与之通信的远程服务器切换其 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 允许您获取机器的 public IP 地址。它非常简单,因为它只是针对 curlmyip.com 和 returns 结果发出请求。您可以使用 setInterval
设置一些轮询间隔,并在检测到更改时将其发送到其他节点。