JavaTM 2 Platform
Standard Ed. 6

java.net
類別 NetworkInterface

java.lang.Object
  繼承者 java.net.NetworkInterface

public final class NetworkInterface
extends Object

此類別表示一個由名稱和分派給此介面的 IP 位址列表組成的網路介面。它用於標識加入多點傳送組的本地介面。 介面通常是按名稱(如 "le0")區分的。

從以下版本開始:
1.4

方法摘要
 boolean equals(Object obj)
          將此物件與指定物件比較。
static NetworkInterface getByInetAddress(InetAddress addr)
          一個便捷方法,搜尋綁定了指定 Internet 協議 (IP) 位址的網路介面。
static NetworkInterface getByName(String name)
          搜尋具有指定名稱的網路介面。
 String getDisplayName()
          獲取此網路介面的顯示名稱。
 byte[] getHardwareAddress()
          如果存在硬體位址並可以使用給定的當前權限存取,則返回該硬體位址(通常是 MAC)。
 Enumeration<InetAddress> getInetAddresses()
          一個便捷方法,返回一個具有綁定到此網路介面全部或部分 InetAddress 的 Enumeration。
 List<InterfaceAddress> getInterfaceAddresses()
          獲取此網路介面的全部或部分 InterfaceAddresses 所組成的列表。
 int getMTU()
          返回此介面的最大傳輸單元(Maximum Transmission Unit,MTU)。
 String getName()
          獲取此網路介面的名稱。
static Enumeration<NetworkInterface> getNetworkInterfaces()
          返回此機器上的所有介面。
 NetworkInterface getParent()
          如果此介面是子介面,則返回它的父 NetworkInterface;如果它是物理(非虛擬)介面或沒有父介面,則返回 null
 Enumeration<NetworkInterface> getSubInterfaces()
          獲取具有連接到此網路介面的所有子介面(也稱虛擬介面)的 Enumeration。
 int hashCode()
          返回該物件的雜湊碼值。
 boolean isLoopback()
          返回網路介面是否是回送介面。
 boolean isPointToPoint()
          返回網路介面是否是點對點介面。
 boolean isUp()
          返回網路介面是否已經開啟並運行。
 boolean isVirtual()
          返回此介面是否是虛擬介面(也稱為子介面)。
 boolean supportsMulticast()
          返回網路介面是否支持多址廣播。
 String toString()
          返回該物件的字元串表示。
 
從類別 java.lang.Object 繼承的方法
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
 

方法詳細資訊

getName

public String getName()
獲取此網路介面的名稱。

返回:
此網路介面的名稱

getInetAddresses

public Enumeration<InetAddress> getInetAddresses()
一個便捷方法,返回一個具有綁定到此網路介面全部或部分 InetAddress 的 Enumeration。

如果存在安全管理器,則對每個 InetAddress 調用其 checkConnect 方法。只有 checkConnect 不拋出 SecurityException 的 InetAddress 才會在 Enumeration 中返回。

返回:
一個 Enumeration 物件,具有綁定到此網路介面的全部或部分 InetAddress

getInterfaceAddresses

public List<InterfaceAddress> getInterfaceAddresses()
獲取此網路介面的全部或部分 InterfaceAddresses 所組成的列表。

如果存在安全管理器,則使用 InetAddress 對每個 InterfaceAddress 調用其 checkConnect 方法。只有 checkConnect 不拋出 SecurityException 的 InterfaceAddresses 才會在列表中返回。

返回:
一個 List 物件,具有此網路介面的全部或部分 InterfaceAddresss
從以下版本開始:
1.6

getSubInterfaces

public Enumeration<NetworkInterface> getSubInterfaces()
獲取具有連接到此網路介面的所有子介面(也稱虛擬介面)的 Enumeration。

例如,eth0:1 是 eth0 的子介面。

返回:
一個 Enumeration 物件,具有此網路介面的所有子介面。
從以下版本開始:
1.6

getParent

public NetworkInterface getParent()
如果此介面是子介面,則返回它的父 NetworkInterface;如果它是物理(非虛擬)介面或沒有父介面,則返回 null

返回:
此介面連接到的 NetworkInterface
從以下版本開始:
1.6

getDisplayName

public String getDisplayName()
獲取此網路介面的顯示名稱。顯示名稱是描述網路設備的可讀字元串。

返回:
此網路介面的顯示名稱;如果不存在可用的顯示名稱,則返回 null。

getByName

public static NetworkInterface getByName(String name)
                                  throws SocketException
搜尋具有指定名稱的網路介面。

參數:
name - 網路介面的名稱。
返回:
具有指定名稱的 NetworkInterface;如果不存在具有指定名稱的網路介面,則返回 null
拋出:
SocketException - 如果發生 I/O 錯誤。
NullPointerException - 如果指定的名稱為 null

getByInetAddress

public static NetworkInterface getByInetAddress(InetAddress addr)
                                         throws SocketException
一個便捷方法,搜尋綁定了指定 Internet 協議 (IP) 位址的網路介面。

如果指定的 IP 位址被綁定到多個網路介面,則返回哪個網路介面是不確定的。

參數:
addr - 用於搜尋的 InetAddress
返回:
NetworkInterface;如果不存在具有指定 IP 位址的網路介面,則返回 null
拋出:
SocketException - 如果發生 I/O 錯誤。
NullPointerException - 如果指定的位址為 null

getNetworkInterfaces

public static Enumeration<NetworkInterface> getNetworkInterfaces()
                                                          throws SocketException
返回此機器上的所有介面。如果在此機器上找不到任何網路介面,則返回 null。 註:可以使用 getNetworkInterfaces()+getInetAddresses() 來獲取此節點的所有 IP 位址。

返回:
此機器上的 NetworkInterface 的 Enumeration
拋出:
SocketException - 如果發生 I/O 錯誤。

isUp

public boolean isUp()
             throws SocketException
返回網路介面是否已經開啟並運行。

返回:
如果介面已經開啟並運行,則返回 true
拋出:
SocketException - 如果發生 I/O 錯誤。
從以下版本開始:
1.6

isLoopback

public boolean isLoopback()
                   throws SocketException
返回網路介面是否是回送介面。

返回:
如果介面是回送介面,則返回 true
拋出:
SocketException - 如果發生 I/O 錯誤。
從以下版本開始:
1.6

isPointToPoint

public boolean isPointToPoint()
                       throws SocketException
返回網路介面是否是點對點介面。典型的點對點介面是通過調製解調器進行 PPP 連接的。

返回:
如果介面是點對點介面,則返回 true
拋出:
SocketException - 如果發生 I/O 錯誤。
從以下版本開始:
1.6

supportsMulticast

public boolean supportsMulticast()
                          throws SocketException
返回網路介面是否支持多址廣播。

返回:
如果介面支持多址廣播,則返回 true
拋出:
SocketException - 如果發生 I/O 錯誤。
從以下版本開始:
1.6

getHardwareAddress

public byte[] getHardwareAddress()
                          throws SocketException
如果存在硬體位址並可以使用給定的當前權限存取,則返回該硬體位址(通常是 MAC)。

返回:
包含硬體位址的 byte 陣列;如果位址不存在或不可存取,則返回 null
拋出:
SocketException - 如果發生 I/O 錯誤。
從以下版本開始:
1.6

getMTU

public int getMTU()
           throws SocketException
返回此介面的最大傳輸單元(Maximum Transmission Unit,MTU)。

返回:
該介面的 MTU 值。
拋出:
SocketException - 如果發生 I/O 錯誤。
從以下版本開始:
1.6

isVirtual

public boolean isVirtual()
返回此介面是否是虛擬介面(也稱為子介面)。 在某些系統上,虛擬介面作為物理介面的子介面創建,並給予不同的設置(如位址或 MTU)。通常,介面的名稱將是父介面的名稱加上冒號 (:),再加上標識該子介面的編號,因為一個物理介面可以存在多個虛擬介面。

返回:
如果此介面是虛擬介面,則返回 true
從以下版本開始:
1.6

equals

public boolean equals(Object obj)
將此物件與指定物件比較。當且僅當參數不為 null,並且它表示與此物件相同的 NetworkInterface 時,結果才為 true

如果 NetworkInterface 兩個實例的名稱和位址都相同,則它們表示相同的 NetworkInterface。

覆寫:
類別 Object 中的 equals
參數:
obj - 要與之比較的物件。
返回:
如果物件相同,則返回 true;否則,返回 false
另請參見:
InetAddress.getAddress()

hashCode

public int hashCode()
從類別 Object 複製的描述
返回該物件的雜湊碼值。支持此方法是為了提高雜湊表(例如 java.util.Hashtable 提供的雜湊表)的性能。

hashCode 的常規協定是:

實際上,由 Object 類別定義的 hashCode 方法確實會針對不同的物件返回不同的整數。(這一般是通過將該物件的內部位址轉換成一個整數來實作的,但是 JavaTM 程式語言不需要這種實作技巧。)

覆寫:
類別 Object 中的 hashCode
返回:
此物件的一個雜湊碼值。
另請參見:
Object.equals(java.lang.Object), Hashtable

toString

public String toString()
從類別 Object 複製的描述
返回該物件的字元串表示。通常,toString 方法會返回一個「以文本方式表示」此物件的字元串。結果應是一個簡明但易於讀懂的資訊表達式。建議所有子類別都覆寫此方法。

Object 類別的 toString 方法返回一個字元串,該字元串由類別名(物件是該類別的一個實例)、at 標記符“@”和此物件雜湊碼的無符號十六進製表示組成。換句話說,該方法返回一個字元串,它的值等於:

getClass().getName() + '@' + Integer.toHexString(hashCode())
 

覆寫:
類別 Object 中的 toString
返回:
該物件的字元串表示形式。

JavaTM 2 Platform
Standard Ed. 6

提交錯誤或意見

版權所有 2008 Sun Microsystems, Inc. 保留所有權利。請遵守GNU General Public License, version 2 only