Si usted está buscando para cualquier dirección IP válida para el host local, entonces usted debe comprobar anfitrión local especial (por ejemplo, 127.0.0.1) direcciones, así como las asignadas a las interfaces. Por ejemplo ...
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;
}
}
Con una cadena, lo que indica el puerto, llamar a esto con:
boolean isMyDesiredIp = false;
try
{
isMyDesiredIp = isThisMyIpAddress(InetAddress.getByName("192.168.220.25")); //"localhost" for localhost
}
catch(UnknownHostException unknownHost)
{
unknownHost.printStackTrace();
}
eso se debe InetAddress.getHostName ("IP viene aquí") ... getbyHostName no existe . –
@AbhijeetKashnia: Gracias, pero en realidad debería ser 'InetAddress.getByName()', 'getHostName()' es un método de objeto, no un método de clase y hace algo diferente (obtiene el nombre de host para la dirección IP, tal como usar una búsqueda DNS inversa). –