Узнайте, какой сетевой интерфейс какой через узел или Электрон - PullRequest
0 голосов
/ 07 декабря 2018

Я использую электронное приложение, которому нужно отправить свой активный 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?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...