欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

java網(wǎng)絡(luò)編程之識別示例 獲取主機網(wǎng)絡(luò)接口列表

 更新時間:2014年01月22日 16:22:33   作者:  
一個客戶端想要發(fā)起一次通信,先決條件就是需要知道運行著服務(wù)器端程序的主機的IP地址是多少。然后我們才能夠通過這個地址向服務(wù)器發(fā)送信息。


獲取主機地址信息

在Java中我們使用InetAddress類來代表目標(biāo)網(wǎng)絡(luò)地址,包括主機名和數(shù)字類型的地址信息,并且InetAddress的實例是不可變的,每個實例始終指向一個地址。InetAddress類包含兩個子類,分別對應(yīng)兩個IP地址的版本:

復(fù)制代碼 代碼如下:

Inet4Address
Inet6Address

我們通過前面的筆記可以知道:IP地址實際上是分配給主機與網(wǎng)絡(luò)之間的連接,而不是主機本身,NetworkInterface類提供了訪問主機所有接口的信息的功能。下面我們通過一個簡單的示例程序來學(xué)習(xí)如何獲取網(wǎng)絡(luò)主機的地址信息:

復(fù)制代碼 代碼如下:

importjava.net.*;
importjava.util.Enumeration;

publicclassInetAddressExample{

publicstaticvoidmain(String[]args){
//TODOAuto-generatedmethodstub
try{
//獲取主機網(wǎng)絡(luò)接口列表
Enumeration<NetworkInterface>interfaceList=NetworkInterface
.getNetworkInterfaces();
//檢測接口列表是否為空,即使主機沒有任何其他網(wǎng)絡(luò)連接,回環(huán)接口(loopback)也應(yīng)該是存在的
if(interfaceList==null){
System.out.println("--沒有發(fā)現(xiàn)接口--");
}else{
while(interfaceList.hasMoreElements()){
//獲取并打印每個接口的地址
NetworkInterfaceiface=interfaceList.nextElement();
//打印接口名稱
System.out.println("Interface"+iface.getName()+";");
//獲取與接口相關(guān)聯(lián)的地址
Enumeration<InetAddress>addressList=iface
.getInetAddresses();
//是否為空
if(!addressList.hasMoreElements()){
System.out.println("\t(沒有這個接口相關(guān)的地址)");
}
//列表的迭代,打印出每個地址
while(addressList.hasMoreElements()){
InetAddressaddress=addressList.nextElement();
System.out
.print("\tAddress"
+((addressinstanceofInet4Address?"(v4)"
:addressinstanceofInet6Address?"v6"
:"(?)")));
System.out.println(":"+address.getHostAddress());
}
}
}
}catch(SocketExceptionse){
System.out.println("獲取網(wǎng)絡(luò)接口錯誤:"+se.getMessage());
}
//獲取從命令行輸入的每個參數(shù)所對應(yīng)的主機名和地址,迭代列表并打印
for(Stringhost:args){
try{
System.out.println(host+":");
InetAddress[]addressList=InetAddress.getAllByName(host);
for(InetAddressaddress:addressList){
System.out.println("\t"+address.getHostName()+"/"
+address.getHostAddress());
}
}catch(UnknownHostExceptione){
System.out.println("\t無法找到地址:"+host);
}
}
}
}

相關(guān)文章

  • Spring Boot實現(xiàn)圖片上傳功能

    Spring Boot實現(xiàn)圖片上傳功能

    這篇文章主要為大家詳細介紹了Spring Boot實現(xiàn)圖片上傳功能,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-05-05
  • java實現(xiàn)多文件上傳至本地服務(wù)器功能

    java實現(xiàn)多文件上傳至本地服務(wù)器功能

    這篇文章主要為大家詳細介紹了java實現(xiàn)多文件上傳至本地服務(wù)器功能,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-01-01
  • java數(shù)據(jù)結(jié)構(gòu)基礎(chǔ):順序隊列和循環(huán)隊列

    java數(shù)據(jù)結(jié)構(gòu)基礎(chǔ):順序隊列和循環(huán)隊列

    下面小編就為大家分享一篇java隊列實現(xiàn)方法(順序隊列,循環(huán)隊列),具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2021-08-08
  • SpringBoot實現(xiàn)定時任務(wù)動態(tài)管理示例

    SpringBoot實現(xiàn)定時任務(wù)動態(tài)管理示例

    這篇文章主要為大家介紹了SpringBoot實現(xiàn)定時任務(wù)動態(tài)管理示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2023-06-06
  • Swagger2配置方式(解決404報錯)

    Swagger2配置方式(解決404報錯)

    這篇文章主要介紹了Swagger2配置方式(解決404報錯),具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-11-11
  • maven 配置多個倉庫的方法

    maven 配置多個倉庫的方法

    這篇文章主要介紹了maven 配置多個倉庫的方法,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-08-08
  • mybatis如何使用Criteria的and和or進行聯(lián)合查詢

    mybatis如何使用Criteria的and和or進行聯(lián)合查詢

    這篇文章主要介紹了mybatis如何使用Criteria的and和or進行聯(lián)合查詢,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-12-12
  • Spring Boot 中的 @PutMapping 注解原理及使用小結(jié)

    Spring Boot 中的 @PutMapping 注解原理及使用小結(jié)

    在本文中,我們介紹了 Spring Boot 中的 @PutMapping 注解,它可以將 HTTP PUT 請求映射到指定的處理方法上,我們還介紹了 @PutMapping 注解的原理以及如何在 Spring Boot 中使用它,感興趣的朋友跟隨小編一起看看吧
    2023-12-12
  • java跳出循環(huán)的三種方式總結(jié)(break語句、continue語句和return語句)

    java跳出循環(huán)的三種方式總結(jié)(break語句、continue語句和return語句)

    在實際編程中,有時需要在條件語句匹配的時候跳出循環(huán),下面這篇文章主要給大家介紹了關(guān)于java跳出循環(huán)的三種方式,其中包括break語句、continue語句和return語句的相關(guān)資料,需要的朋友可以參考下
    2023-03-03
  • 一篇文章徹底弄懂Java中二叉樹

    一篇文章徹底弄懂Java中二叉樹

    二叉樹是有限個節(jié)點的集合,這個集合可以是空集,也可以是一個根節(jié)點和兩顆不相交的子二叉樹組成的集合,其中一顆樹叫根的左子樹,另一顆樹叫右子樹,這篇文章主要給大家介紹了一篇文章如何徹底弄懂Java中二叉樹的相關(guān)資料,需要的朋友可以參考下
    2022-01-01

最新評論