程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> JAVA編程 >> 關於JAVA >> Java網絡編程從入門到精通(12):使用isReachable方法探測主機是否可以連通

Java網絡編程從入門到精通(12):使用isReachable方法探測主機是否可以連通

編輯:關於JAVA

在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方法應用於局域網中。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved