码迷,mamicode.com
首页 > 编程语言 > 详细

Java网络编程从入门到精通(12):使用isReachable方法探测主机是否可以连通

时间:2015-01-31 14:26:12      阅读:157      评论:0      收藏:0      [点我收藏+]

标签:

 在J2SE5.0中的InetAddress类中增加了一个isReachable方法。可以使用这个方法来探测主机是否可以连通。这个方法有两个重载形式,它们的定义如下:

public boolean isReachable(int timeout) throws IOException public boolean isReachable(NetworkInterface netif, int ttl, int timeout) throws IOException

第一个重载形式有一个timeout参数,可以通过这个参数设置连接超时(单位:毫秒)。第二个重载形式多了两个参数:netif和ttl。通过netif参数可以使用一个NetworkInterface对象来确定客户端使用哪个网络接口来测试主机的连通性。ttl是指测试连通性过程中的最大连接跃点数(从客户机到达远程主机所经过的最大路由数就是最大连接跃点数,一个路由被称为一个跃点,在Windows网络连接中的“高级TCP/IP设置”对话框最下面可以设置接口跃点数),如果达到最大连接跃点数,还没找到远程主机,isReachable方法就认为客户机和远程主机之间是不可连通的。

isReachable方法是通过连接主机的echo端口来确定客户端和服务端是否可连通。但在Internet上使用这个方法可能会因为放火墙等因素而无法连通远程主机(实际上,远程主机是可以连通的),因此,isReachable在Internet上并不可靠。但我们可以将isReachable方法应用于局域网中

Java网络编程从入门到精通(12):使用isReachable方法探测主机是否可以连通

标签:

原文地址:http://www.cnblogs.com/woshixiaobai/p/4264013.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!