InetAddress.getByName(FQDN)vs InetAddress.getByName(IP),性能问题

时间:2014-10-12 14:26:37

标签: java performance dns ip lan

我很难弄清楚为什么解析IP所需的时间比解析域名要长得多。我知道必须转换IP才能被getByName方法使用。但是这个:

InetAddress address = InetAddress.getByName("google.com");
System.out.println("Reachable: " + address.isReachable(10000));

运行速度快了近20倍:

InetAddress address = InetAddress.getByName("192.168.1.1");
System.out.println("Reachable: " + address.isReachable(10000));

我的目标是通过IP-Adress搜索特定网段的实时主机。所以经历这个65025次从192.168.1.1运行到192.168.255.255似乎并不聪明。 : - (

有没有更好的方法来做到这一点。不幸的是调用" ping-command"不是一种选择。

干杯,

斯蒂芬妮

1 个答案:

答案 0 :(得分:0)

感谢Calle,似乎玩端口扫描和许多DNS查找可以触发网络基础设施上的有趣影响。在带有多个踏板的for循环中运行了几个查找后,我接到一个电话询问我在做什么。 : - (

干杯,

斯蒂芬妮