调用Java接口InetAddress.getAllByName得到两种不同的结果

  • 1. 我在java APP上创建一个下载线程,文件下载失败后重试,重试前,先调用接口InetAddress.getAllByName()。
  • 2. 把程序运行起来,然后断开网络,2分钟后,打开网络,发现下载线程中调用接口InetAddress.getAllByName()总是捕获到异常UnknownHostException。
  • 3. 我在我的程序里面添加一个循环不断地去调用接口InetAddress.getAllByName().
  • 4. 然后重复步骤2,发现最后两个线程都能正确获取到ip和host name.

运行环境: Centos7 OpenJDK1.8

因为没有看到你的代码,没法知道你具体什么问题,但是这里有两个类似的问题,你参考下:
https://bbs.csdn.net/topics/390606776
https://stackoverflow.com/questions/43601656/inetaddress-getallbyname-throws-unknownhostexception
再有就是你的dns不稳定,设置为8.8.8.8或者你的ISP指定给你的dns试试看

https://bbs.csdn.net/topics/390606776
https://stackoverflow.com/questions/43601656/inetaddress-getallbyname-throws-unknownhostexception