2010-03-09 82 views

回答

56

如果你正在寻找的有效期为本地主机的任何IP地址,那么你必须检查特殊本地主机(如127.0.0.1)地址以及分配给任何接口的。

boolean isMyDesiredIp = false; 
try 
{ 
    isMyDesiredIp = isThisMyIpAddress(InetAddress.getByName("192.168.220.25")); //"localhost" for localhost 
} 
catch(UnknownHostException unknownHost) 
{ 
    unknownHost.printStackTrace(); 
} 
+0

这应该是InetAddress.getHostName(“IP来这里”)...... getbyHostName不存在:比如......

public static boolean isThisMyIpAddress(InetAddress addr) { // Check if the address is a valid special local or loop back if (addr.isAnyLocalAddress() || addr.isLoopbackAddress()) return true; // Check if the address is defined on any interface try { return NetworkInterface.getByInetAddress(addr) != null; } catch (SocketException e) { return false; } } 

一个字符串,表示该端口,以调用此。 – 2012-01-31 09:42:11

+3

@AbhijeetKashnia:谢谢,但实际上应该是'InetAddress.getByName()','getHostName()'是一个对象方法,而不是一个类方法,它做了一些不同的事情(它获取IP地址的主机名,例如如使用反向DNS查找)。 – 2012-01-31 11:01:42

相关问题