Как найти, если машина имеет интерфейс Ipv6? - PullRequest
0 голосов
/ 01 ноября 2010

Можно ли определить, поддерживает ли IPV6 на машине какой-либо API Java?

Ответы [ 2 ]

2 голосов
/ 01 ноября 2010

Посмотрите на класс NetworkInterface. У него есть методы для получения всех сетевых интерфейсов машины, включая виртуальные. Вы можете посмотреть на InetAddress для каждого интерфейса и использовать inetAddress.getAddress().length, чтобы проверить количество байтов в IP, чтобы различать IPv4 и IPv6.

1 голос
/ 01 ноября 2010
InetAddress a = InetAddress.getByName(“www.sun.com”);
if (a instanceof Inet6Address) {
    Inet6Address a2 = (Inet6Address) a;
    if (a2.isIPv4CompatibleAddress()) {
        ...
    } if (
        a2.isLinkLocalAddress()) {
        ...
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...