FileDocCategorySizeDatePackage
NetworkUtils.javaAPI DocApache Axis 1.42688Sat Apr 22 18:57:28 BST 2006org.apache.axis.utils

NetworkUtils

public class NetworkUtils extends Object
Utility classes for networking created 13-May-2004 16:17:51

Fields Summary
public static final String
LOCALHOST
what we return when we cannot determine our hostname. We use this rather than 'localhost' as if DNS is very confused, localhost can map to different machines than "self".
public static final String
LOCALHOST_IPV6
loopback address in IPV6
protected static Log
log
Constructors Summary
private NetworkUtils()
keep this uninstantiable.


            
      
    
Methods Summary
public static java.lang.StringgetLocalHostname()
Get the string defining the hostname of the system, as taken from the default network adapter of the system. There is no guarantee that this will be fully qualified, or that it is the hostname used by external machines to access the server. If we cannot determine the name, then we return the default hostname, which is defined by {@link #LOCALHOST}

return
a string name of the host.


                                                                             
        
        InetAddress address;
        String hostname;
        try {
            address = InetAddress.getLocalHost();
            //force a best effort reverse DNS lookup
            hostname = address.getHostName();
            if (hostname == null || hostname.length() == 0) {
                hostname = address.toString();
            }
        } catch (UnknownHostException noIpAddrException) {

            //this machine is not on a LAN, or DNS is unhappy
            //return the default hostname
            if(log.isDebugEnabled()) {
                log.debug("Failed to lookup local IP address",noIpAddrException);
            }
            hostname = LOCALHOST;
        }
        return hostname;