2016-10-26 2 views
2

Я хочу создать небольшое приложение для 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(); 
    } 
+0

какие элементы у вас в ваши хосты файл –

+0

Посмотрите на это он решит вашу проблему: http://stackoverflow.com/questions/21521844/how-to-resolve-network-host-names-from-ip-address –

+0

Shreyas, я добавляю это InetAddress.getByName ("192.168. 1.2 "). GetHostName() после открытия вашей ссылки, но все же дайте мне тот же ip 192.168.1.2 –

ответ

2

Используйте .getHostname()

InetAddress addr = InetAddress.getByName("192.168.1.1"); 
String host = addr.getHostName(); 
System.out.println(host); 
+0

Это будет работать, только если у него есть запись в файле hosts –

+0

, когда я передаю «192.168.1.4», он дает мне тот же IP-адрес, который я передал "192.168.1.4". –

Смежные вопросы