public class LocalHost extends Object
| Constructor and Description |
|---|
LocalHost() |
| Modifier and Type | Method and Description |
|---|---|
static InetAddress |
getLocalHost()
Returns an
InetAddress object encapsulating what is most
likely the machine's LAN IP address. |
public static InetAddress getLocalHost() throws UnknownHostException
InetAddress object encapsulating what is most
likely the machine's LAN IP address. This method is intended for use
as a replacement of JDK method InetAddress.getLocalHost,
because that method is ambiguous on Linux systems. Linux systems
enumerate the loopback network interface the same way as regular LAN
network interfaces, but the JDK InetAddress.getLocalHost
method does not specify the algorithm used to select the address returned
under such circumstances, and will often return the loopback address,
which is not valid for network communication. Details here. This method will scan all IP addresses on all network
interfaces on the host machine to determine the IP address most likely to
be the machine's LAN address. If the machine has multiple IP addresses,
this method will prefer a site-local IP address (e.g. 192.168.x.x or
10.10.x.x, usually IPv4) if the machine has one (and will return the
first site-local address if the machine has more than one), but if the
machine does not hold a site-local address, this method will return
simply the first non-loopback address found (IPv4 or IPv6). If this
method cannot find a non-loopback address using this selection algorithm,
it will fall back to calling and returning the result of JDK method
InetAddress.getLocalHost. UnknownHostException - If the LAN address of the machine cannot be found.Copyright © 2014 Evolutionary Computation Laboratory at George Mason University. All rights reserved.