⑴ Java网络编程从入门到精通(12):使用isReachable方法探测主机是否可以连通
在J SE 中的InetAddress类中增加了一个isReachable方法 可以使用这个方法来探测主机是否可以连通 这个方卖山隐法有两个重载形式 它们的定义如下
publicbooleanisReachable(int唯肆timeout)(NeorkInterfacenetif intttl inttimeout)throwsIOException
第一个重载形式有一个timeout参数 可以通过这个参数设置连接超时(单位 毫秒) 第二个重载形式多了两个参数 netif和ttl 通过netif参数可以使用一个NeorkInterface对象来确定客户端使用哪个网络接口来测试主机的连通性 ttl是指测试连通性过程中的最大连接跃点数(从客户机到达远程主机所经过的最大路由数就是最大连接跃点数 一个路由被称为一个跃点 在Windows网络连接中的 高级TCP/IP设置 对话框最下面可以设置接口跃点数) 如果达到最大连接跃点数 还没找到远程主机 isReachable方法就认为客户机和远程主机之间是不可连通的
isReachable方法是通过连接主机的echo端口来确定客户端中厅和服务端是否可连通 但在Internet上使用这个方法可能会因为放火墙等因素而无法连通远程主机(实际上 远程主机是可以连通的) 因此 isReachable在Internet上并不可靠 但我们可以将isReachable方法应用于局域网中
lishixin/Article/program/Java/hx/201311/27058