Если вы ищете какой-либо IP-адрес, который является действительным для локального хоста, то вы должны проверить на специальный локальный хост (например, 127.0.0.1) адрес, а также тех, которые назначен на любые интерфейсы. Например ...
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;
}
}
С строки, указав порт, называют это с:
boolean isMyDesiredIp = false;
try
{
isMyDesiredIp = isThisMyIpAddress(InetAddress.getByName("192.168.220.25")); //"localhost" for localhost
}
catch(UnknownHostException unknownHost)
{
unknownHost.printStackTrace();
}
Это должно быть InetAddress.getHostName («ф приходит сюда») ... getbyHostName не существует , –
@AbhijeetKashnia: Спасибо, но на самом деле это должно быть 'InetAddress.getByName()', 'getHostName()' - метод объекта, а не метод класса, и он делает что-то другое (он получает имя хоста для IP-адреса, такое как использование обратного DNS-поиска). –