InetAddress 類別
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
此類別代表一個網際協定(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
- 繼承
- 衍生
- 屬性
- 實作
備註
此類別代表一個網際協定(IP)位址。
IP 位址是 IP 使用的 32 位元或 128 位元無符號號碼,IP 是一種底層協定,如 UDP 和 TCP 等協定皆基於此協定。 IP 位址架構由 RFC 定義;790:分配編號http://www.ietf.org/rfc/rfc790.txt,RFC 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。
本頁部分內容為基於 Open Source Project 所創建與分享的作品,並依授權條款所描述的使用進行修改。
建構函式
| 名稱 | Description |
|---|---|
| InetAddress(IntPtr, JniHandleOwnership) |
用於建立 JNI 物件受管理表示的建構器;由執行時呼叫。 |
屬性
| 名稱 | Description |
|---|---|
| CanonicalHostName |
取得該 IP 位址的完整限定網域名稱。 |
| Class |
回傳此 |
| 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() |
回傳此 |
| GetAllByName(String) |
給定主機名稱後,會回傳一個根據系統上設定的名稱服務所組成的 IP 位址陣列。 |
| GetByAddress(Byte[]) |
回傳 |
| 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) |
取得實例 |
| JavaAs<TResult>(IJavaPeerable) |
試著強制 |
| JavaCast<TResult>(IJavaObject) |
執行 Android 執行時檢查型別轉換。 |
| JavaCast<TResult>(IJavaObject) |
此類別代表一個網際協定(IP)位址。 |
| TryJavaCast<TResult>(IJavaPeerable, TResult) |
試著強制 |