語言

InetAddress 類別

定義

此類別代表一個網際協定(IP)位址。

[Android.Runtime.Register("java/net/InetAddress", DoNotGenerateAcw=true)]
public class InetAddress : Java.Lang.Object, IDisposable, Java.IO.ISerializable
[<Android.Runtime.Register("java/net/InetAddress", DoNotGenerateAcw=true)>]
type InetAddress = class
    inherit Object
    interface ISerializable
    interface IJavaObject
    interface IDisposable
    interface IJavaPeerable
繼承
InetAddress
衍生
屬性
實作

備註

此類別代表一個網際協定(IP)位址。

IP 位址是 IP 使用的 32 位元或 128 位元無符號號碼,IP 是一種底層協定,如 UDP 和 TCP 等協定皆基於此協定。 IP 位址架構由 RFC  定義;790:分配編號http://www.ietf.org/rfc/rfc790.txtRFC 1918年:私有網際網路http://www.ietf.org/rfc/rfc1918.txt地址分配RFC 2365:行政範圍的 IP 多播http://www.ietf.org/rfc/rfc2365.txt,以及 RFC 2373:IP 版本 6 位址架構http://www.ietf.org/rfc/rfc2373.txt。 InetAddress 的實例包含一個 IP 位址及其對應的主機名稱(視是否以主機名稱構成,或是否已完成反向主機名稱解析)。

<h3> 位址類型 </h3>

<blockquote><表格 cellspacing=2 summary=「單播與多播位址類型的描述」tr<><> th valign=top> unicast</th><td>單一介面的識別碼。 發送到單播位址的封包會被送達該位址所識別的介面。

未指定位址——也稱為任意本地或通配碼位址。 它絕不能被指派給任何節點。 這表示沒有地址。 其一個應用範例是作為綁定的目標,這允許伺服器在任何介面上接受客戶端連線,前提是伺服器主機有多個介面。

指定的 位址不得作為 IP 封包的目的位址。

迴路位址——這是分配給迴路介面的位址。 任何傳送到這個 IP 位址的資料都會繞圈,成為本地主機的 IP 輸入。 這個位址常用於測試客戶端。</td></tr><tr th><valign=頂>多播</th><td>一組介面的識別碼(通常屬於不同節點)。 發送到多播位址的封包會送達所有該位址所識別的介面。</td></tr></table/blockquote><>

<h4> IP 位址範圍 </h4>

連結本地 位址設計用於單一連結的位址設定、鄰居發現,或在沒有路由器存在時使用。

站點本地 位址設計用於站點內部的位址,無需全域前綴。

全球 地址在網路上是獨一無二的。

<h4> IP 位址 <的文字表示 /h4>

IP 位址的文字表示是特定於位址族的。

關於 IPv4 位址格式,請參考 Inet4Address#format;關於 IPv6 位址格式,請參考 Inet6Address#format。

有幾個系統屬性會影響 IPv4 和 IPv6 位址的使用方式。

<h4> 主機名稱解析 </h4>

主機名稱-to-IP 位址 解析 是透過結合本地機器配置資訊與網路命名服務(如網域名稱系統(DNS)和網路資訊服務(NIS)來完成。 所使用的命名服務預設是本地機器設定的。 對於任何主機名稱,都會回傳其對應的 IP 位址。

反向名稱解析 意指對任意 IP 位址,會回傳與該 IP 位址相關的主機。

InetAddress 類別提供將主機名稱解析為其 IP 位址的方法,反之亦然。

<h4> InetAddress 快取 </h4>

InetAddress 類別有一個快取功能,用來儲存成功與失敗的主機名稱解析。

預設情況下,安裝安全管理員後,為了防範 DNS 欺騙攻擊,正向主機名稱解析的結果會永久快取。 當未安裝安全管理器時,預設行為是將條目快取一段有限(依實作而定)的時間。 未能成功解決主機名稱的結果會被快取一段非常短的時間(10 秒)以提升效能。

若不希望預設行為,則可將 Java 安全屬性設定為不同的存活時間(TTL)值以實現正快取。 同樣地,系統管理員可以在需要時設定不同的負快取 TTL 值。

兩個 Java 安全屬性控制用於正負主機名稱解析快取的 TTL 值:

<blockquote><dl<>dt><b>networkaddress.cache.ttl</b></dt><dd>表示名稱服務成功查詢名稱時的快取策略。 該值以整數表示成功查找所需的秒數。 預設設定是快取特定實作期間。

值為 -1 表示「永久快取」。 </dd>dt b networkaddress.cache.negative.ttl</b>(預設值:10)</dt><dd>表示名稱服務查詢失敗時的快取政策。>><< 該值以整數形式指定,以表示對於未成功查詢時,快取失敗所需的秒數。

值為 0 表示「永不快取」。 值為 -1 表示「永久快取」。 </dd></dl></blockquote>

新增於JDK1.0。

Java 文件 java.net.InetAddress

本頁部分內容為基於 Open Source Project 所創建與分享的作品,並依授權條款所描述的使用進行修改。

建構函式

名稱 Description
InetAddress(IntPtr, JniHandleOwnership)

用於建立 JNI 物件受管理表示的建構器;由執行時呼叫。

屬性

名稱 Description
CanonicalHostName

取得該 IP 位址的完整限定網域名稱。

Class

回傳此 Object的執行時類別。

(繼承來源 Object)
Handle

底層 Android 實例的帳號。

(繼承來源 Object)
HostAddress

在文字呈現時回傳 IP 位址字串。

HostName

會取得這個 IP 位址的主機名稱。

IsAnyLocalAddress

用來檢查萬用字元位址中的 InetAddress 工具例程。

IsLinkLocalAddress

用來檢查 InetAddress 是否為連結本地位址的工具程序。

IsLoopbackAddress

用來檢查 InetAddress 是否為迴圈位址的工具程序。

IsMCGlobal

用來檢查多播位址是否有全域範圍的工具程序。

IsMCLinkLocal

用來檢查多播位址是否有連結範圍的工具程序。

IsMCNodeLocal

用來檢查多播位址是否有節點範圍的工具程序。

IsMCOrgLocal

用來檢查多播位址是否有組織範圍的工具程序。

IsMCSiteLocal

用來檢查多播位址是否有站點範圍的工具程序。

IsMulticastAddress

用來檢查 InetAddress 是否為 IP 多播位址的工具程序。

IsSiteLocalAddress

用來檢查 InetAddress 是否為站點本地位址的工具程序。

JniIdentityHashCode

取得由互通執行時指派給此 Java 對等端的身份雜湊碼。

(繼承來源 Object)
JniManagedPeerState

此類別代表一個網際協定(IP)位址。

(繼承來源 JavaObject)
JniPeerMembers

此類別代表一個網際協定(IP)位址。

LocalHost

回傳本地主機的位址。

LoopbackAddress

回傳迴路位址。

PeerReference

取得這個 Java 節點的 JNI 物件參考。

(繼承來源 Object)
ThresholdClass

此 API 支援 Mono for Android 基礎架構,並非直接從你的程式碼中使用。

ThresholdType

此 API 支援 Mono for Android 基礎架構,並非直接從你的程式碼中使用。

方法

名稱 Description
Clone()

建立並回傳此物件的副本。

(繼承來源 Object)
Construct(JniObjectReference, JniObjectReferenceOptions)

此類別代表一個網際協定(IP)位址。

(繼承來源 JavaObject)
Dispose()

釋放該 Java 節點所持有的資源。

(繼承來源 Object)
Dispose(Boolean)

釋放該 Java 節點所持有的資源。

(繼承來源 Object)
DisposeUnlessReferenced()

此類別代表一個網際協定(IP)位址。

(繼承來源 JavaObject)
Equals(Object)

此類別代表一個網際協定(IP)位址。

(繼承來源 JavaObject)
Equals(Object)

表示是否有其他物體「等同」於此物。

(繼承來源 Object)
GetAddress()

回傳此 InetAddress 物件的原始 IP 位址。

GetAllByName(String)

給定主機名稱後,會回傳一個根據系統上設定的名稱服務所組成的 IP 位址陣列。

GetByAddress(Byte[])

回傳 InetAddress 一個物件,給定原始 IP 位址 。

GetByAddress(String, Byte[])

根據提供的主機名稱和 IP 位址建立一個 InetAddress。

GetByName(String)

根據主機名稱決定主機的 IP 位址。

GetHashCode()

回傳物件的雜湊碼值。

(繼承來源 Object)
IsReachable(Int32)

測試該地址是否可達。

IsReachable(NetworkInterface, Int32, Int32)

測試該地址是否可達。

JavaFinalize()
已淘汰.

當垃圾回收判定該物件不再有相關參考時,由垃圾回收器呼叫。

(繼承來源 Object)
Notify()

喚醒一個正在該物件監視器上等待的執行緒。

(繼承來源 Object)
NotifyAll()

喚醒所有等待該物件監視器的執行緒。

(繼承來源 Object)
SetHandle(IntPtr, JniHandleOwnership)

設定 Handle 屬性。

(繼承來源 Object)
SetPeerReference(JniObjectReference, JniObjectReferenceOptions)

此類別代表一個網際協定(IP)位址。

(繼承來源 JavaObject)
ToArray<T>()

從這個 Java 陣列包裝器建立一個受管理陣列。

(繼承來源 Object)
ToString()

回傳物件的字串表示。

(繼承來源 Object)
UnregisterFromRuntime()

將此 Java 節點從互通執行時中取消註冊。

(繼承來源 Object)
Wait()

導致目前執行緒等待被喚醒,通常是透過 <em>通知</><em 或 em>中斷</em> 來喚醒。

(繼承來源 Object)
Wait(Int64, Int32)

會讓目前執行緒等待喚醒,通常是透過 <em>通知</><em 或 em>中斷</em>,或是經過一定的真實時間。

(繼承來源 Object)
Wait(Int64)

會讓目前執行緒等待喚醒,通常是透過 <em>通知</><em 或 em>中斷</em>,或是經過一定的真實時間。

(繼承來源 Object)

明確介面實作

名稱 Description
IJavaPeerable.Disposed()

此類別代表一個網際協定(IP)位址。

(繼承來源 JavaObject)
IJavaPeerable.Finalized()

此類別代表一個網際協定(IP)位址。

(繼承來源 JavaObject)
IJavaPeerable.JniObjectReferenceControlBlock

此類別代表一個網際協定(IP)位址。

(繼承來源 JavaObject)
IJavaPeerable.SetJniIdentityHashCode(Int32)

此類別代表一個網際協定(IP)位址。

(繼承來源 JavaObject)
IJavaPeerable.SetJniManagedPeerState(JniManagedPeerStates)

此類別代表一個網際協定(IP)位址。

(繼承來源 JavaObject)
IJavaPeerable.SetPeerReference(JniObjectReference)

此類別代表一個網際協定(IP)位址。

(繼承來源 JavaObject)
IJavaPeerable.UnregisterFromRuntime()

此類別代表一個網際協定(IP)位址。

擴充方法

名稱 Description
GetJniTypeName(IJavaPeerable)

取得實例 self類型的 JNI 名稱。

JavaAs<TResult>(IJavaPeerable)

試著強制self輸入 TResult,檢查 強制在 Java 端是否有效。

JavaCast<TResult>(IJavaObject)

執行 Android 執行時檢查型別轉換。

JavaCast<TResult>(IJavaObject)

此類別代表一個網際協定(IP)位址。

TryJavaCast<TResult>(IJavaPeerable, TResult)

試著強制self輸入 TResult,檢查 強制在 Java 端是否有效。

適用於