Я хочу создать небольшое приложение для Android, которое будет получать IP-адреса и имя хоста из сети LAN, которые подключены. У меня есть код, который отлично работает, чтобы получить IP-адрес в локальной сети, которая подключена, но я не знаю, как получить имя хоста для своих IP-адресов. Где мне нужно менять код. Извините за плохой английский.Как получить имя хоста ip-адреса в android?
Вот мой код для получения IP-адреса в локальной сети
String connections = "";
InetAddress host;
try
{
host = InetAddress.getByName("192.168.1.1");
byte[] ip = host.getAddress();
for(int i = 1; i <= 254; i++)
{
ip[3] = (byte) i;
InetAddress address = InetAddress.getByAddress(ip);
if(address.isReachable(100))
{
System.out.println(address + " machine is turned on and can be pinged "+address.getCanonicalHostName());
connections+= address+"\n";
}
else if(!address.getHostAddress().equals(address.getHostName()))
{
System.out.println(address + " machine is known in a DNS lookup");
System.out.println(address.getHostAddress()+"host Name:"+ address.getHostName());
}
}
tv.setText(connections);
}
catch(UnknownHostException e1)
{
e1.printStackTrace();
}
catch(IOException e)
{
e.printStackTrace();
}
какие элементы у вас в ваши хосты файл –
Посмотрите на это он решит вашу проблему: http://stackoverflow.com/questions/21521844/how-to-resolve-network-host-names-from-ip-address –
Shreyas, я добавляю это InetAddress.getByName ("192.168. 1.2 "). GetHostName() после открытия вашей ссылки, но все же дайте мне тот же ip 192.168.1.2 –