这取决于您所指的可达性。如果仅找到在特定端口上侦听的可访问主机,则可以打开与该端口的套接字连接(例如,通过检查端口80查找所有HTTP服务器)。使用InetAddress.isReachable()取决于实现。根据javadoc,“典型的实现将使用ICMP
ECHO REQUEST”。使用Java NIO(非阻塞I /
O)的“已知端口”检查(如http(80),smb(445)等)可以具有更高的性能。我公司的产品使用“已知端口”扫描来查找使用NIO运行Telnet或SSH的设备,并且我们可以扫描大约5000
IP / sec。



