Я пишу расширение Firefox, которое использует nsIServerSocket
для прослушивания соединений с сокетами.Я ищу способ для кода расширения, чтобы программно узнать адрес локальной сети компьютера, на котором работает расширение Firefox.Эта информация передается клиенту в локальной сети вне диапазона, так что он может открыть сокетное соединение с добавочным номером.
Мои исследования в этом направлении до сих пор находили только людей, желающих найти IP-адрес.адрес загруженных веб-сайтов с помощью разрешения DNS или с использованием Java-апплетов ), что не подходит для расширения FF.На страницах разработчика Mozilla в Geolocation API упоминаются:
"данные обмениваются, включая данные точки доступа WiFi, токен доступа (аналог двухнедельного cookie) и пользователяIP-адрес "
, но не указывает API для прямого доступа к IP-адресу пользователя.
На данный момент моя единственная идея - вызвать локальный процесс, используя nsIProcess
и разбери IP оттуда.Это кажется ужасно хакерским и должно быть обработано отдельно для каждой ОС.Т.е. я запускаю ifconfig, netcfg, ipconfig?С какими аргументами?
Кто-нибудь знает о лучшем решении?