private static Pair<NetworkInterface,InetAddress> getFirstNonLocalhostNetworkInterface() throws SocketException
{
Enumeration<NetworkInterface> netInterfaces=NetworkInterface.getNetworkInterfaces();
while(netInterfaces.hasMoreElements()){
NetworkInterface networkInterface = (NetworkInterface)netInterfaces.nextElement();
for (Enumeration<InetAddress> loopInetAddress = networkInterface.getInetAddresses(); loopInetAddress.hasMoreElements(); )
{
InetAddress tempInetAddress = loopInetAddress.nextElement();
if (!tempInetAddress.isLoopbackAddress() && tempInetAddress instanceof Inet4Address)
return new Pair<NetworkInterface,InetAddress>(networkInterface,tempInetAddress);
}