在生成环境中运行类似下面这段代码无法获取网卡,但是可以获取ipv4的网卡。 //InetAddress ia = InetAddress.getByName("fe80::a00:27ff:fe77:91aa"); NetworkInterface inter = NetworkInterface.getByInetAddress(ia); 为了
在生成环境中运行类似下面这段代码无法获取网卡,但是可以获取ipv4的网卡。
//InetAddress ia = InetAddress.getByName("fe80::a00:27ff:fe77:91aa");NetworkInterface inter = NetworkInterface.getByInetAddress(ia);
为了测试我特地写了一个上面的代码,是可以获取到的。
我知道如果java运行时有这个-Djava.net.preferIPv4Stack=true参数,那么无法获取ipv6的地址。有没有可能网卡也和它有关系。
后面想了一下,去检查运行java的参数,果然有,将这个参数去掉之后,获取ipv6的网卡也就没问题了。
写在这里,以后如果遇到无法获取ipv6地址或者ipv6的网卡类似的问题,第一时间就回去检查有没有上面这个参数。