Я использую электронное приложение, которому нужно отправить свой активный IP-адрес (в локальной сети) на мой сервер для постоянной связи.Для этого я использую блестящий скрипт, который нашел здесь и который прекрасно работает:
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у меня есть интернет), я не могу сказать, какая из них является моей локальной сетью, а какая принадлежит WIFI.Поскольку у меня нет контроля над используемым WIFI, я не могу отличить их по IP-диапазону.
Есть ли способ определить (в узле или электроне), принадлежит ли сетевой интерфейс к кабелю или WIFI?