/*
* Copyright (C) 2012 Greatech. All rights reserved.
*/
package cn.com.greatech.isis.net;
import java.net.Inet6Address;
import java.net.InetAddress;
import java.net.NetworkInterface;
import java.util.Enumeration;
/**
* @author Wu Yuntao
*
*/
public class NetworkUtils {
/**
* get inetAddress from operation system.this is not relation to platform.
*
* @return instance of inetAddress if find InetAddress,return null if not find InetAddress
* or throw exception
*/
public static InetAddress getLocalHostAddress() {
try {
for (Enumeration<NetworkInterface> nis = NetworkInterface
.getNetworkInterfaces(); nis.hasMoreElements();) {
NetworkInterface ni = nis.nextElement();
if (ni.isLoopback() || ni.isVirtual() || !ni.isUp())
continue;
for (Enumeration<InetAddress> ias = ni.getInetAddresses(); ias.hasMoreElements();) {
InetAddress ia = ias.nextElement();
if (ia instanceof Inet6Address) continue;
return ia;
}
}
} catch (Exception e) {
e.printStackTrace();
}
return null;
}
}
在window下這確實(shí)挺慢,在其他平臺(tái)沒想到別的方法。你覺得該怎么修改?
取一次就夠了啊,還會(huì)取多次嗎?
使用這個(gè)不是更簡單???