Java 網絡編程(四) InetAddress類


 

InetAddress類

  InetAddress類用來封裝我們前面討論的數字式的IP地址和該地址的域名。

  你通過一個IP主機名與這個類發生作用,IP主機名比它的IP地址用起來更簡便更容易理解。

  InetAddress類內部隱藏了地址數字。

 

InetAddress類中的工廠方法

  InetAddress類沒有明顯的構造函數。為生成一個InetAddress對象,必須運用一個可用的工廠方法。

  工廠方法(factory method僅是一個類中靜態方法返回一個該類實例的約定。

  對於InetAddress,三個方法:getLocalHost()、getByName()以及getAllByName()可以用來創建InetAddress的實例。

  

  getLocalHost()僅返回象征本地主機的InetAddress對象。

  本機地址還為localhost,127.0.0.1,這三個地址都是一回事。

 

  getByName()方法返回一個傳給它的主機名的InetAddress。

  如果這些方法不能解析主機名,它們引發一個UnknownHostException異常。

 

  在Internet上,用一個名稱來代表多個機器是常有的事。

  getAllByName()工廠方法返回代表由一個特殊名稱分解的所有地址的InetAddresses類數組。

  在不能把名稱分解成至少一個地址時,它將引發一個UnknownHostException異常。

 

程序實例 

InetAddressTest01
package com.example.network;

import java.net.InetAddress;

public class InetAddressTest01
{
    public static void main(String[] args) throws Exception
    {
        InetAddress address = InetAddress.getLocalHost();

        System.out.println(address);
        // 輸出:機器名/IP地址
        // 如username-PC/10.4.16.131

        // 通過域名得到IP地址
        address = InetAddress.getByName("www.sohu.com");
        System.out.println(address);
        // 輸出:域名/IP地址
    }

}

 

 

參考資料

  聖思園張龍老師Java SE系列視頻教程。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM