<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    隨筆 - 312, 文章 - 14, 評論 - 1393, 引用 - 0
    數據加載中……

    Java網絡編程從入門到精通(7):用getHostAddress方法獲得IP地址

    本文為原創,如需轉載,請注明作者和出處,謝謝!

    上一篇: Java網絡編程從入門到精通(6):使用getCanonicalHostName方法獲得主機名

      
    這個方法用來得到主機的IP地址,這個IP地址可能是IPv4的地址,也可能是IPv6的地址。getHostAddress方法的定義如下:

    public String getHostAddress()

    無論InetAddress對象是使用哪種方式創建的,getHostAddress方法都不會訪問DNS服務器。如果想訪問使用IPv6地址的遠程主機,需要在操作系統上安裝IPv6協議。下面是Windows 2003上安裝IPv6協議的步驟:

    第一步:打開本地連接屬性對話框。如圖1所示

    圖1 “本地連接”屬性對話框


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

    圖2  “選擇網絡協議”對話框

    除了使用圖形化界面來安裝IPv6外,還可以使用如下命令行來安裝IPv6

    netsh interface ipv6 install

    下面的代碼演示了如何利用getHostAddress得到IPv4IPv6地址,以及如何得到本機的所有IP地址(包括IPv4IPv6地址)。

    package mynet;

    import java.net.*;

    public class MyIP
    {
        
    public static void main(String[] args) throws Exception
        {
            
    // 輸出IPv4地址
            InetAddress ipv4Address1 = InetAddress.getByName("1.2.3.4");
            System.out.println(
    "ipv4Address1: " + ipv4Address1.getHostAddress());
            InetAddress ipv4Address2 
    = InetAddress.getByName("www.ibm.com");
            System.out.println(
    "ipv4Address2: " + ipv4Address2.getHostAddress());
            InetAddress ipv4Address3 
    = InetAddress.getByName("myuniverse");
            System.out.println(
    "ipv4Address3: " + ipv4Address3.getHostAddress());
            
    // 輸出IPv6地址
            InetAddress ipv6Address1 = InetAddress.getByName("abcd:123::22ff");
            System.out.println(
    "ipv6Address1: " + ipv6Address1.getHostAddress());
            InetAddress ipv6Address2 
    = InetAddress.getByName("www.neu6.edu.cn");
            System.out.println(
    "ipv6Address2: " + ipv6Address2.getHostAddress());
            
    // 輸出本機全部的IP地址
            InetAddress Addresses[] = InetAddress.getAllByName("myuniverse");
            
    for (InetAddress address : Addresses)
                System.out.println(
    "本機地址:" + address.getHostAddress());
        }
    }

    在上面代碼使用了www.neu6.edu.cn作為域名,這個域名是東北大學用于測試IPv6地址的域名。下面是其他一些可用于測試IPv6的域名,讀者可以使用ping命令或例程3-9來測試這些域名。

    www6.whu.edu.cn (武漢大學)
    www.jlu6.edu.cn(吉林大學)
    www6.usst.edu.cn(上海理工大學)
    www.fudan6.edu.cn(復旦大學)

    在訪問這些域名之前,本機必須使用上述的方法或命令行安裝IPv6,否則getByName方法將拋出UnknownHostException異常。

        運行結果:

    ipv4Address1: 1.2.3.4
    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.10192.10.10.10是和本機網卡綁定的兩個IP,而192.168.83.1192.168.189.1VMware虛擬機軟件在本機安裝的兩個虛擬網卡的地址。最后一個IPv6地址0:0:0:0:0:0:0:1是代表本機的IPv6網址,相當于IPv4地址的127.0.0.1。讀者可以使用如下命令行添加IPv6地址和刪除IPv6

    添加IPv6地址

    netsh interface ipv6 add address "本地連接" aa:bb::cc

    刪除IPv6

    netsh interface ipv6 uninstall

    注意:安裝IPv6不需要重新啟動計算機,但添加IPv6地址或刪除IPv6后,必須重新啟動計算機才能生效。

    下一篇:Java網絡編程從入門到精通(8):用getAddress方法獲得IP地址



    Android開發完全講義(第2版)(本書版權已輸出到臺灣)

    http://product.dangdang.com/product.aspx?product_id=22741502



    Android高薪之路:Android程序員面試寶典 http://book.360buy.com/10970314.html


    新浪微博:http://t.sina.com.cn/androidguy   昵稱:李寧_Lining

    posted on 2009-04-21 12:33 銀河使者 閱讀(6492) 評論(0)  編輯  收藏 所屬分類: java 原創網絡編程

    主站蜘蛛池模板: 亚洲av无码专区首页| 亚洲日韩乱码中文无码蜜桃臀网站 | 亚洲啪啪综合AV一区| 亚洲av永久无码| 99久久综合国产精品免费| 国产亚洲人成网站在线观看不卡| 亚洲AV成人无码久久WWW| 噼里啪啦免费观看高清动漫4| 亚洲精品亚洲人成在线观看麻豆| 免费视频精品一区二区三区| 亚洲精品午夜无码专区| jizz免费观看| 亚洲成AV人片在线播放无码| 久久久久久影院久久久久免费精品国产小说 | 黄床大片免费30分钟国产精品 | 亚洲成a人片77777老司机| 午夜免费福利视频| 亚洲欧洲日韩极速播放| 成人性生免费视频| 美女裸免费观看网站| 亚洲高清免费视频| 一个人免费视频观看在线www| 亚洲日韩精品一区二区三区| 国产成人 亚洲欧洲| 美女被cao免费看在线看网站| 亚洲自偷自拍另类图片二区| 秋霞人成在线观看免费视频| 免费国产真实迷j在线观看| 亚洲精品午夜视频| 国产成人免费片在线观看| 亚洲一本一道一区二区三区| 国产精品亚洲片在线观看不卡| 国产亚洲日韩一区二区三区| 日韩精品亚洲aⅴ在线影院| 激情综合色五月丁香六月亚洲| 国产亚洲综合久久系列| 久久精品国产亚洲av水果派| 亚洲一区二区三区久久| 亚洲Av无码国产一区二区| 亚洲av永久无码精品三区在线4| 亚洲区小说区图片区QVOD|