Java代码获取服务端IP地址

2018-12-12  本文已影响26人  大老哈
private static String getHostIp()
{
    try{
        Enumeration<NetworkInterface> allNetInterfaces = NetworkInterface.getNetworkInterfaces();
        while ( allNetInterfaces.hasMoreElements() )
        {
            NetworkInterface        netInterface    = (NetworkInterface) allNetInterfaces.nextElement();
            Enumeration<InetAddress>    addresses   = netInterface.getInetAddresses();
            while ( addresses.hasMoreElements() )
            {
                InetAddress ip = (InetAddress) addresses.nextElement();
                if ( ip != null
                     && ip instanceof Inet4Address
                     && !ip.isLoopbackAddress() /* loopback地址即本机地址,IPv4的loopback范围是127.0.0.0 ~ 127.255.255.255 */
                     && ip.getHostAddress().indexOf( ":" ) == -1 )
                {
                    System.out.println( "本机的IP = " + ip.getHostAddress() );
                    return(ip.getHostAddress() );
                }
            }
        }
    }catch ( Exception e ) {
        e.printStackTrace();
    }
    return(null);
}
上一篇 下一篇

猜你喜欢

热点阅读