Добрый день Java: поиск адреса службы, которая принадлежит определенному сетевому интерфейсу
Я пытаюсь найти адрес, который соответствует разрешенному сервису Bonjour, зарегистрированному для определенного сетевого интерфейса.
DNSSD дает мне hostname
и индекс сетевого интерфейса службы: ifIndex
, Если хост имеет несколько сетевых интерфейсов, я должен выяснить, какой из сетевых интерфейсов принадлежит ifIndex
что этот сервис зарегистрирован (при условии, что сервис ifIndex
не 0 или -1).
public void serviceResolved(DNSSDService resolver, int flags, int ifIndex, String fullName, String hostName, int port, TXTRecord txtRecord) {
InetAddress[] addresses = null;
try {
addresses = InetAddress.getAllByName(hostName);
} catch (UnknownHostException e) {}
for (InetAddress address : addresses) {
//How do I know what the appropriate address is?
}
}
Кто-нибудь знает, как узнать, какой из ip-адресов разрешен hostname
принадлежит разрешенным ifIndex
?
Большое спасибо, Маттийс