本文為原創,如需轉載,請注明作者和出處,謝謝!
上一篇:
Java網絡編程從入門到精通(6):使用getCanonicalHostName方法獲得主機名
這個方法用來得到主機的
IP
地址,這個
IP
地址可能是
IPv4
的地址,也可能是
IPv6
的地址。
getHostAddress
方法的定義如下:
無論
InetAddress
對象是使用哪種方式創建的,
getHostAddress
方法都不會訪問
DNS
服務器。如果想訪問使用
IPv6
地址的遠程主機,需要在操作系統上安裝
IPv6
協議。下面是
Windows 2003
上安裝
IPv6
協議的步驟:
第一步:
打開
“
本地連接
”
屬性對話框。如圖1所示
。

第二步:
點擊
“
安裝
”
按鈕,出現
“
選擇網絡組件類型
”
對話框,選擇
“
協議
”
選項后,點擊
“
添加
”
按鈕,出現如圖
2
的
“
選擇網絡協議
”
對話框,選擇
“Microsoft TCP/IP
版本
6”
,最后點擊
“
確定
”
按鈕。

除了使用圖形化界面來安裝
IPv6
外,還可以使用如下命令行來安裝
IPv6
:
下面的代碼 演示了如何利用 getHostAddress 得到 IPv4 和 IPv6 地址,以及如何得到本機的所有 IP 地址(包括 IPv4 和 IPv6 地址)。
import java.net. * ;
public class MyIP
{
public static void main(String[]args) throws Exception
{
// 輸出IPv4地址
InetAddressipv4Address1 = InetAddress.getByName( " 1.2.3.4 " );
System.out.println( " ipv4Address1: " + ipv4Address1.getHostAddress());
InetAddressipv4Address2 = InetAddress.getByName( " www.ibm.com " );
System.out.println( " ipv4Address2: " + ipv4Address2.getHostAddress());
InetAddressipv4Address3 = InetAddress.getByName( " myuniverse " );
System.out.println( " ipv4Address3: " + ipv4Address3.getHostAddress());
// 輸出IPv6地址
InetAddressipv6Address1 = InetAddress.getByName( " abcd:123::22ff " );
System.out.println( " ipv6Address1: " + ipv6Address1.getHostAddress());
InetAddressipv6Address2 = InetAddress.getByName( " www.neu6.edu.cn " );
System.out.println( " ipv6Address2: " + ipv6Address2.getHostAddress());
// 輸出本機全部的IP地址
InetAddressAddresses[] = InetAddress.getAllByName( " myuniverse " );
for (InetAddressaddress:Addresses)
System.out.println( " 本機地址: " + address.getHostAddress());
}
}
在上面代碼
中
使用了
www.neu6.edu.cn
作為域名,這個域名是東北大學用于測試
IPv6
地址的域名。下面是其他一些可用于測試
IPv6
的域名,讀者可以使用
ping
命令或例程
3-9
來測試這些域名。
www.jlu6.edu.cn(吉林大學)
www6.usst.edu.cn(上海理工大學)
www.fudan6.edu.cn(復旦大學)
在訪問這些域名之前,本機必須使用上述的方法或命令行安裝
IPv6
,否則
getByName
方法將拋出
UnknownHostException
異常。
運行結果:
ipv4Address2: 129.42.60.212
ipv4Address3: 192.168.18.10
ipv6Address1:abcd: 123 : 0 : 0 : 0 : 0 : 0 :22ff
ipv6Address2: 2001 :da8: 9000 :b255: 200 :e8ff:feb0:5c5e
本機地址: 192.168.18.10
本機地址: 192.168.83.1
本機地址: 192.168.189.1
本機地址: 193.10.10.10
本機地址: 0 : 0 : 0 : 0 : 0 : 0 : 0 : 1
在上面的運行結果中的
IP
地址
192.168.18.10
和
192.10.10.10
是和本機網卡綁定的兩個
IP
,而
192.168.83.1
和
192.168.189.1
是
VMware
虛擬機軟件在本機安裝的兩個虛擬網卡的地址。最后一個
IPv6
地址
0:0:0:0:0:0:0:1
是代表本機的
IPv6
網址,相當于
IPv4
地址的
127.0.0.1
。讀者可以使用如下命令行添加
IPv6
地址和刪除
IPv6
:
添加 IPv6 地址
刪除 IPv6
注意:安裝IPv6不需要重新啟動計算機,但添加IPv6地址或刪除IPv6后,必須重新啟動計算機才能生效。
國內最棒的Google Android技術社區(eoeandroid),歡迎訪問!
《銀河系列原創教程》 發布
《Java Web開發速學寶典》 出版,歡迎定購
更多文章、技術交流、商務合作、聯系博主
微信掃碼或搜索:z360901061

微信掃一掃加我為好友
QQ號聯系: 360901061
您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對您有幫助就好】元
