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