相关疑难解决方法(0)

Android调试InetAddress.isReachable

我试图弄清楚如何在调试期间判断我的Android应用程序中是否有特定的ipaddress(我没有在实际设备上尝试过).

从阅读开始,InetAddress.isReachable似乎应该为我做这件事.

最初我认为我可以编写类似的代码:

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

即使我有理由确定它是可到达的地址,这也会返回false.

我发现,如果我将其更改为127,0,0,1,则返回成功.

我的下一次尝试是相同的代码,但我使用了从www.google.com的ping获得的地址(截至撰写本文时为72.167.164.64).没有成功.

那么我尝试了另一个例子:

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
    }
}
Run Code Online (Sandbox Code Playgroud)

我对Java和Android比较陌生,所以我怀疑我错过了什么,但我找不到任何可以表明它是什么的东西.

java android

7
推荐指数
2
解决办法
1万
查看次数

标签 统计

android ×1

java ×1