Получить идентификатор области / сетевой интерфейс NsdServiceInfo службы IPv6 с локальной связью

Я хочу подключиться к локальной службе IPv6, представленной файлом. Услуга анонсируется в локальной сети через zeroconf. Поэтому мне нужен идентификатор области в дополнение к IP (т.е. для создания "<IPv6>%<scope ID>"). Однако мне не удалось найти способ получить идентификатор области (т. Е. Сетевой интерфейс, через который была обнаружена служба) из NsdServiceInfo. На данный момент, в качестве уродливого обходного пути, я перебираю все сетевые интерфейсы и проверяю достижимость IP-адреса сервера, используя NsdServiceInfo#getHost()#isReachable().

Кстати NsdServiceInfo#getHost()#getScopeId() а также NsdServiceInfo#getHost()#getScopedInterface() всегда возвращать 0 и null соответственно.

Мне что-то здесь не хватает, или на самом деле нет прямого решения для этого?

0 ответов

Другие вопросы по тегам