⑴ 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