解析IP地址时出现Java UnknownHostException?

时间:2017-07-29 23:14:03

标签: java android networking

我有以下代码:

String ip = "192.168.1.1";
InetAddress address = InetAddress.getByName(ip);

在Android上执行时(是的,清单包含INTERNET)我有时会得到

java.net.UnknownHostException: Unable to resolve host "192.168.1.1": No address associated with hostname
at java.net.InetAddress.lookupHostByName(InetAddress.java:424)
at java.net.InetAddress.getAllByNameImpl(InetAddress.java:236)
at java.net.InetAddress.getByName(InetAddress.java:289)

InetAddress上的文档表明,传入IP地址而不是主机名是完全合法的。

这里不应该进行任何DNS查找,那么出了什么问题?

编辑:

所有非常好的问题。

这不是在模拟器上运行。它在实时客户端设备上运行。当糟糕的事情发生时,我的代码会打电话给家里的电话。

我确信这是一个Wifi网络而不是3G或其他。

上面的第一行代码就是为了说明。实际代码确定Android设备在a.b.c.x本地网络上运行,并且想要确定a.b.c.1上是否有任何运行。

重点是ip变量设置为有效的IPv4地址。是否运行任何东西或Android设备甚至可以看到该地址是无关紧要的。错误消息表明不需要任何主机名解析。

还有一件事:我的应用程序每天都在世界各地运行数千次,没有任何问题。在一周内,我会收到一些错误。这意味着这段代码通常很可靠,而且这里真的很奇怪。

0 个答案:

没有答案