Android Debugging InetAddress.isReachable

Posted by badMonkey on Stack Overflow See other posts from Stack Overflow or by badMonkey
Published on 2010-05-29T13:59:38Z Indexed on 2010/05/29 14:02 UTC
Read the original article Hit count: 368

Filed under:
|

I am trying to figure out how to tell if a particular ipaddress is available in my android app during debugging ( I haven't tried this on an actual device ).

From reading it appears that InetAddress.isReachable should do this for me.

Initially I thought that I could code something like:

InetAddress address = InetAddress.getByAddress( new byte[] { (byte) 192, (byte) 168, (byte) 254, (byte) 10 ); success = address.isReachable( 3000 );

This returns false even though I am reasonably sure it is a reachable address.

I found that if I changed this to 127, 0, 0, 1 it returned success.

My next attempt was same code, but I used the address I got from a ping of www.google.com ( 72.167.164.64 as of this writing ). No success.

So then I tried a further example:

int timeout = 2000;
InetAddress[] addresses = InetAddress.getAllByName("www.google.com");
for (InetAddress address : addresses)
{
    if ( address.isReachable(timeout))
    {
       success = true; // just set a break point here
    }
}

I am relatively new to Java and Android so I suspect I am missing something, but I can't find anything that would indicate what that is.

© Stack Overflow or respective owner

Related posts about java

Related posts about android