我使用一个电子应用程序,该应用程序需要将其活动IP地址(在LAN中)发送到我的服务器以进行持续通信。为此,我使用了一个很棒的脚本,它在这里很好用:
function getIPs() {
let ifaces = os.networkInterfaces();
console.log(ifaces);
let ipAdresse = '';
Object.keys(ifaces).forEach(function (ifname) {
let alias = 0;
ifaces[ifname].forEach(function (iface) {
if ('IPv4' !== iface.family || iface.internal !== false) {
return;
}
if (alias >= 1) {
console.log(ifname + ':' + alias, iface.address);
} else {
console.log(ifname, iface.address);
ipAdress = iface.address;
}
++alias;
});
});
return ipAdress;
}
我遇到的问题是:如果此客户端连接到多个网络(有时用户也连接到WIFI以具有互联网),则我无法确定哪个是我的LAN,哪个属于WIFI。由于我无法控制使用的WIFI,因此无法通过其IP范围来区分它们。
是否可以(在Node或Electron中)告诉网络接口是否属于Cable或WIFI?