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

本文为原创,如需转载,请注明作者和出处,谢谢!

上一篇:Java网络编程从入门到精通(11):使用NetworkInterface类获得网络接口信息

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

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

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

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

下一篇:
Java网络编程从入门到精通(13):使用Socket类接收和发送数据



国内最棒的Google Android技术社区(eoeandroid),欢迎访问!

《银河系列原创教程》发布

《Java Web开发速学宝典》出版,欢迎定购

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值