<span>public</span> InetAddress getFirstNonLoopbackAddress(<span>boolean</span> preferIpv4, <span>boolean</span> preferIPv6) <span>throws</span><span> SocketException {
Enumeration en </span>=<span> NetworkInterface.getNetworkInterfaces();
</span><span>while</span><span> (en.hasMoreElements()) {
NetworkInterface i </span>=<span> (NetworkInterface) en.nextElement();
</span><span>for</span> (Enumeration en2 =<span> i.getInetAddresses(); en2.hasMoreElements();) {
InetAddress addr </span>=<span> (InetAddress) en2.nextElement();
</span><span>if</span> (!<span>addr.isLoopbackAddress()) {
</span><span>if</span> (addr <span>instanceof</span><span> Inet4Address) {
</span><span>if</span><span> (preferIPv6) {
</span><span>continue</span><span>;
}
</span><span>return</span><span> addr;
}
</span><span>if</span> (addr <span>instanceof</span><span> Inet6Address) {
</span><span>if</span><span> (preferIpv4) {
</span><span>continue</span><span>;
}
</span><span>return</span><span> addr;
}
}
}
}
</span><span>return</span><span>null</span><span>;
}</span>
调用方法:
getFirstNonLoopbackAddress(<span>true</span>,<span>false</span>).getHostAddress();
原文:https://www.cnblogs.com/penghq/p/9466801.html
【说明】:本文章由站长整理发布,文章内容不代表本站观点,如文中有侵权行为,请与本站客服联系(QQ:254677821)!