com.googlecode.mobilityrpc.quickstart.util
Class NetworkUtil
java.lang.Object
com.googlecode.mobilityrpc.quickstart.util.NetworkUtil
public class NetworkUtil
- extends Object
- Author:
- Niall Gallagher
| Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
NetworkUtil
public NetworkUtil()
getLocalHostLANAddress
public static InetAddress getLocalHostLANAddress()
throws UnknownHostException
- Returns an
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.
- Returns:
- The LAN address of the machine
- Throws:
UnknownHostException - If the LAN address of the machine cannot be found.
getAllNetworkInterfaceAddresses
public static List<String> getAllNetworkInterfaceAddresses()
Copyright © 2016. All rights reserved.