2016-10-26 12 views
2

接続されているLANネットワークからIPアドレスとホスト名を取得する小さなアンドロイドアプリを作りたいと思います。私は接続されているLANネットワークでIPアドレスを取得するのに最適なコードを持っていますが、IPアドレスのホスト名を取得する方法はわかりません。どこでコードを変更する必要がありますか?悪い英語で申し訳ありません。ここでアンドロイドでIPアドレスのホスト名を取得する方法は?

は、LANネットワークで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

これは、ホストファイル –

+0

に "1​​92.168.1.4"を渡すと、これは私が渡したのと同じIPアドレスを与える"192.168.1.4"。 –

関連する問題