Java代码获取服务端IP地址

private static String getHostIp()
{
    try{
        Enumeration allNetInterfaces = NetworkInterface.getNetworkInterfaces();
        while ( allNetInterfaces.hasMoreElements() )
        {
            NetworkInterface        netInterface    = (NetworkInterface) allNetInterfaces.nextElement();
            Enumeration    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);
}

你可能感兴趣的:(Java代码获取服务端IP地址)