2016-10-26 5 views
2

Ich möchte eine kleine Android-App, die IP-Adressen und Host-Namen aus dem LAN-Netzwerk, die verbunden sind. Ich habe einen Code, der großartig läuft, um IP-Adresse in einem LAN-Netzwerk zu bekommen, das verbunden ist, aber ich weiß nicht, wie man Host-Namen ihrer IP-Adressen erhält. Wo ich Code ändern muss. Entschuldige mein schlechtes Englisch.Wie bekomme ich den Hostnamen der IP-Adresse in Android?

Hier ist mein Code IP-Adresse im LAN-Netzwerk

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

welche Einträge Sie haben in Ihren Gastgebern –

+0

Blick auf diese Option, um Datei Es wird Ihr Problem lösen: http://stackoverflow.com/questions/21521844/how-to-resolve-network-host-names-from-ip-address –

+0

Shreyas, ich füge dieses InetAddress.getByName ("192.168. 1.2 "). GetHostName() nach dem Öffnen Ihres Links, aber immer noch geben Sie mir ip 192.168.1.2 –

Antwort

2

Verwenden .getHostname()

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

Dies würde nur funktionieren, wenn es Eintrag in Hosts-Datei –

+0

hat, wenn ich "192.168.1.4" übergeben gibt es mir die gleiche IP-Adresse, die ich bestanden "192.168.1.4". –

Verwandte Themen