日本综合一区二区|亚洲中文天堂综合|日韩欧美自拍一区|男女精品天堂一区|欧美自拍第6页亚洲成人精品一区|亚洲黄色天堂一区二区成人|超碰91偷拍第一页|日韩av夜夜嗨中文字幕|久久蜜综合视频官网|精美人妻一区二区三区

RELATEED CONSULTING
相關(guān)咨詢(xún)
選擇下列產(chǎn)品馬上在線(xiàn)溝通
服務(wù)時(shí)間:8:30-17:00
你可能遇到了下面的問(wèn)題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營(yíng)銷(xiāo)解決方案
創(chuàng)新互聯(lián)鴻蒙OS教程:鴻蒙OSInetAddress

InetAddress

java.lang.Object

|---java.net.InetAddress

public class InetAddress
extends Object
implements Serializable

此類(lèi)表示 Internet 協(xié)議 (IP) 地址。

IP 地址是 IP 使用的 32 位或 128 位無(wú)符號(hào)數(shù)字,IP 是一種較低級(jí)別的協(xié)議,UDP 和 TCP 等協(xié)議都基于該協(xié)議構(gòu)建。 IP 地址架構(gòu)由 RFC 790:分配的號(hào)碼、RFC 1918:專(zhuān)用 Internet 的地址分配、RFC 2365:管理范圍的 IP 多播和 RFC 2373:IP 版本 6 尋址架構(gòu)定義。 InetAddress 的一個(gè)實(shí)例由一個(gè) IP 地址和可能的它對(duì)應(yīng)的主機(jī)名組成(取決于它是用主機(jī)名構(gòu)造的,還是已經(jīng)完成了反向主機(jī)名解析)。

地址類(lèi)型 IP 地址范圍

鏈路本地地址設(shè)計(jì)用于在單個(gè)鏈路上尋址,用于自動(dòng)地址配置、鄰居發(fā)現(xiàn)或不存在路由器時(shí)。

站點(diǎn)本地地址旨在用于在站點(diǎn)內(nèi)部進(jìn)行尋址,而無(wú)需全局前綴。

全球地址在互聯(lián)網(wǎng)上是唯一的。

IP 地址的文本表示 IP 地址的文本表示是地址族特定的。

有幾個(gè)系統(tǒng)屬性會(huì)影響 IPv4 和 IPv6 地址的使用方式。

主機(jī)名解析 主機(jī)名到 IP 地址的解析是通過(guò)結(jié)合使用本地機(jī)器配置信息和網(wǎng)絡(luò)命名服務(wù)(例如域名系統(tǒng) (DNS) 和網(wǎng)絡(luò)信息服務(wù) (NIS))來(lái)完成的。 默認(rèn)情況下,正在使用的特定命名服務(wù)是本地計(jì)算機(jī)配置的服務(wù)。 對(duì)于任何主機(jī)名,都會(huì)返回其對(duì)應(yīng)的 IP 地址。

反向名稱(chēng)解析意味著對(duì)于任何 IP 地址,都會(huì)返回與該 IP 地址關(guān)聯(lián)的主機(jī)。

InetAddress 類(lèi)提供將主機(jī)名解析為其 IP 地址的方法,反之亦然。

InetAddress 緩存 InetAddress 類(lèi)有一個(gè)緩存來(lái)存儲(chǔ)成功和不成功的主機(jī)名解析。

默認(rèn)情況下,安裝安全管理器時(shí),為了防止 DNS 欺騙攻擊,正向主機(jī)名解析的結(jié)果將被永久緩存。未安裝安全管理器時(shí),默認(rèn)行為是將條目緩存一段有限的(取決于實(shí)現(xiàn)的)時(shí)間段。不成功的主機(jī)名解析結(jié)果將被緩存很短的時(shí)間(10 秒)以提高性能。

如果不需要默認(rèn)行為,則可以將 Java 安全屬性設(shè)置為不同的生存時(shí)間 (TTL) 值以進(jìn)行正緩存。同樣,系統(tǒng)管理員可以在需要時(shí)配置不同的負(fù)緩存 TTL 值。

兩個(gè) Java 安全屬性控制用于正和負(fù)主機(jī)名解析緩存的 TTL 值:

networkaddress.cache.ttl

指示從名稱(chēng)服務(wù)中成功查找名稱(chēng)的緩存策略。 該值指定為整數(shù),以指示緩存成功查找的秒數(shù)。 默認(rèn)設(shè)置是緩存實(shí)現(xiàn)特定的時(shí)間段。

-1 值表示“永遠(yuǎn)緩存”。

networkaddress.cache.negative.ttl (默認(rèn)值:10)

指示來(lái)自名稱(chēng)服務(wù)的不成功名稱(chēng)查找的緩存策略。 該值指定為整數(shù),以指示緩存不成功查找失敗的秒數(shù)。

值 0 表示“從不緩存”。 -1 值表示“永遠(yuǎn)緩存”。

方法總結(jié)

修飾符和類(lèi)型 方法 描述
boolean equals(Object obj) 將此對(duì)象與指定對(duì)象進(jìn)行比較。
byte[] getAddress() 返回此 InetAddress 對(duì)象的原始 IP 地址。
static InetAddress[] getAllByName(String host) 給定主機(jī)的名稱(chēng),根據(jù)系統(tǒng)上配置的名稱(chēng)服務(wù)返回其 IP 地址的數(shù)組。
static InetAddress getByAddress(byte[] addr) 返回給定原始 IP 地址的 InetAddress 對(duì)象。
static InetAddress getByAddress(String host, byte[] addr) 根據(jù)提供的主機(jī)名和 IP 地址創(chuàng)建 InetAddress。
static InetAddress getByName(String host) 給定主機(jī)名,確定主機(jī)的 IP 地址。
String getCanonicalHostName() 獲取此 IP 地址的完全限定域名。
String getHostAddress() 以文本形式返回 IP 地址字符串。
String getHostName() 獲取此 IP 地址的主機(jī)名。
static InetAddress getLocalHost() 返回本地主機(jī)的地址。
static InetAddress getLoopbackAddress() 返回環(huán)回地址。
int hashCode() 返回此 IP 地址的哈希碼。
boolean isAnyLocalAddress() 檢查 InetAddress 是否在通配符地址中的實(shí)用程序。
boolean isLinkLocalAddress() 檢查 InetAddress 是否為鏈接本地地址的實(shí)用程序。
boolean isLoopbackAddress() 檢查 InetAddress 是否為環(huán)回地址的實(shí)用程序。
boolean isMCGlobal() 檢查多播地址是否具有全局范圍的實(shí)用程序。
boolean isMCLinkLocal() 檢查多播地址是否具有鏈接范圍的實(shí)用程序。
boolean isMCNodeLocal() 檢查多播地址是否具有節(jié)點(diǎn)范圍的實(shí)用程序。
boolean isMCOrgLocal() 檢查多播地址是否具有組織范圍的實(shí)用程序。
boolean isMCSiteLocal() 檢查多播地址是否具有站點(diǎn)范圍的實(shí)用程序。
boolean isMulticastAddress() 檢查 InetAddress 是否為 IP 多播地址的實(shí)用程序。
boolean isReachable(int timeout) 測(cè)試該地址是否可達(dá)。
boolean isReachable(NetworkInterface netif, int ttl, int timeout) 測(cè)試該地址是否可達(dá)。
boolean isSiteLocalAddress() 檢查 InetAddress 是否為站點(diǎn)本地地址的實(shí)用程序例程。
String toString() 將此 IP 地址轉(zhuǎn)換為字符串。
從類(lèi) java.lang.Object 繼承的方法
clone, finalize, getClass, notify, notifyAll, wait, wait, wait

方法詳情

isMulticastAddress

public boolean isMulticastAddress()

檢查 InetAddress 是否為 IP 多播地址的實(shí)用程序。

返回:

一個(gè)布爾值,指示 InetAddress 是否為 IP 多播地址

isAnyLocalAddress

public boolean isAnyLocalAddress()

檢查 InetAddress 是否在通配符地址中的實(shí)用程序。

返回:

一個(gè)布爾值,指示 Inetaddress 是否為通配符地址。

isLoopbackAddress

public boolean isLoopbackAddress()

檢查 InetAddress 是否為環(huán)回地址的實(shí)用程序。

返回:

一個(gè)布爾值,指示 InetAddress 是否為環(huán)回地址; 否則為假。

isLinkLocalAddress

public boolean isLinkLocalAddress()

檢查 InetAddress 是否為鏈接本地地址的實(shí)用程序。

返回:

一個(gè)布爾值,指示 InetAddress 是否是鏈接本地地址; 如果地址不是鏈接本地單播地址,則為 false。

isSiteLocalAddress

public boolean isSiteLocalAddress()

檢查 InetAddress 是否為站點(diǎn)本地地址的實(shí)用程序例程。

返回:

一個(gè)布爾值,指示 InetAddress 是否是站點(diǎn)本地地址; 如果地址不是站點(diǎn)本地單播地址,則為 false。

isMCGlobal

public boolean isMCGlobal()

檢查多播地址是否具有全局范圍的實(shí)用程序。

返回:

一個(gè)布爾值,指示地址是否是全局范圍的多播地址,如果不是全局范圍或不是多播地址,則為 false

isMCNodeLocal

public boolean isMCNodeLocal()

檢查多播地址是否具有節(jié)點(diǎn)范圍的實(shí)用程序。

返回:

一個(gè)布爾值,指示地址是否是節(jié)點(diǎn)本地范圍的多播地址,如果它不是節(jié)點(diǎn)本地范圍或不是多播地址,則為 false

isMCLinkLocal

public boolean isMCLinkLocal()

檢查多播地址是否具有鏈接范圍的實(shí)用程序。

返回:

一個(gè)布爾值,指示地址是否是鏈路本地范圍的多播地址,如果不是鏈路本地范圍或不是多播地址,則為 false

isMCSiteLocal

public boolean isMCSiteLocal()

檢查多播地址是否具有站點(diǎn)范圍的實(shí)用程序。

返回:

一個(gè)布爾值,指示地址是否是站點(diǎn)本地范圍的多播地址,如果它不是站點(diǎn)本地范圍或不是多播地址,則為 false

isMCOrgLocal

public boolean isMCOrgLocal()

檢查多播地址是否具有組織范圍的實(shí)用程序。

返回:

一個(gè)布爾值,指示地址是否是組織本地范圍的多播地址,如果它不是組織本地范圍或不是多播地址,則為 false

isReachable

public boolean isReachable(int timeout) throws IOException

測(cè)試該地址是否可達(dá)。 實(shí)現(xiàn)會(huì)盡最大努力嘗試訪(fǎng)問(wèn)主機(jī),但防火墻和服務(wù)器配置可能會(huì)阻止請(qǐng)求,從而導(dǎo)致無(wú)法訪(fǎng)問(wèn)狀態(tài),而某些特定端口可能可以訪(fǎng)問(wèn)。 如果可以獲得特權(quán),典型的實(shí)現(xiàn)將使用 ICMP ECHO REQUEST,否則它將嘗試在目標(biāo)主機(jī)的端口 7 (Echo) 上建立 TCP 連接。

超時(shí)值(以毫秒為單位)表示嘗試應(yīng)該花費(fèi)的最長(zhǎng)時(shí)間。 如果在得到應(yīng)答之前操作超時(shí),則認(rèn)為主機(jī)不可達(dá)。 負(fù)值將導(dǎo)致拋出 IllegalArgumentException。

參數(shù):

參數(shù)名稱(chēng) 參數(shù)描述
timeout 呼叫中止之前的時(shí)間(以毫秒為單位)

返回:

一個(gè)布爾值,指示地址是否可達(dá)。

Throws:

Throw名稱(chēng) Throw描述
IOException 如果發(fā)生網(wǎng)絡(luò)錯(cuò)誤
IllegalArgumentException 如果超時(shí)為負(fù)。

isReachable

public boolean isReachable(NetworkInterface netif, int ttl, int timeout) throws IOException

測(cè)試該地址是否可達(dá)。 實(shí)現(xiàn)會(huì)盡最大努力嘗試訪(fǎng)問(wèn)主機(jī),但防火墻和服務(wù)器配置可能會(huì)阻止請(qǐng)求,從而導(dǎo)致無(wú)法訪(fǎng)問(wèn)狀態(tài),而某些特定端口可能可以訪(fǎng)問(wèn)。 如果可以獲得特權(quán),典型的實(shí)現(xiàn)將使用 ICMP ECHO REQUEST,否則它將嘗試在目標(biāo)主機(jī)的端口 7 (Echo) 上建立 TCP 連接。

網(wǎng)絡(luò)接口和 ttl 參數(shù)讓調(diào)用者指定測(cè)試將通過(guò)哪個(gè)網(wǎng)絡(luò)接口以及數(shù)據(jù)包應(yīng)該通過(guò)的最大跳數(shù)。 ttl 的負(fù)值將導(dǎo)致拋出 IllegalArgumentException。

超時(shí)值(以毫秒為單位)表示嘗試應(yīng)該花費(fèi)的最長(zhǎng)時(shí)間。 如果在得到應(yīng)答之前操作超時(shí),則認(rèn)為主機(jī)不可達(dá)。 負(fù)值將導(dǎo)致拋出 IllegalArgumentException。

參數(shù):

參數(shù)名稱(chēng) 參數(shù)描述
netif 將通過(guò)其完成測(cè)試的 NetworkInterface,或者對(duì)于任何接口為 null
ttl 要嘗試的最大跳數(shù)或默認(rèn)值為 0
timeout 呼叫中止之前的時(shí)間(以毫秒為單位)

返回:

一個(gè)布爾值,指示地址是否可達(dá)。

Throws:

Throw名稱(chēng) Throw描述
IllegalArgumentException 如果 timeout 或 ttl 為負(fù)數(shù)。
IOException 如果發(fā)生網(wǎng)絡(luò)錯(cuò)誤

getHostName

public String getHostName()

獲取此 IP 地址的主機(jī)名。

如果這個(gè) InetAddress 是用一個(gè)主機(jī)名創(chuàng)建的,這個(gè)主機(jī)名會(huì)被記住并返回; 否則,將執(zhí)行反向名稱(chēng)查找,并根據(jù)系統(tǒng)配置的名稱(chēng)查找服務(wù)返回結(jié)果。 如果需要查找名稱(chēng)服務(wù),請(qǐng)調(diào)用 getCanonicalHostName。

如果有安全管理器,首先調(diào)用它的 checkConnect 方法,并使用主機(jī)名和 -1 作為其參數(shù),以查看是否允許該操作。 如果不允許該操作,它將返回 IP 地址的文本表示。

返回:

此 IP 地址的主機(jī)名,或者如果安全檢查不允許該操作,則為 IP 地址的文本表示。

getCanonicalHostName

public String getCanonicalHostName()

獲取此 IP 地址的完全限定域名。 盡力而為的方法,這意味著我們可能無(wú)法根據(jù)底層系統(tǒng)配置返回 FQDN。

如果有安全管理器,該方法首先調(diào)用它的 checkConnect 方法,以主機(jī)名和 -1 作為其參數(shù),以查看是否允許調(diào)用代碼知道該 IP 地址的主機(jī)名,即連接到主機(jī)。 如果不允許該操作,它將返回 IP 地址的文本表示。

返回:

此 IP 地址的完全限定域名,或者如果安全檢查不允許該操作,則為 IP 地址的文本表示。

getAddress

public byte[] getAddress()

返回此 InetAddress 對(duì)象的原始 IP 地址。 結(jié)果按網(wǎng)絡(luò)字節(jié)順序排列:地址的最高字節(jié)在 getAddress()[0] 中。

返回:

此對(duì)象的原始 IP 地址。

getHostAddress

public String getHostAddress()

以文本形式返回 IP 地址字符串。

返回:

字符串格式的原始 IP 地址。

hashCode

public int hashCode()

返回此 IP 地址的哈希碼。

覆蓋:

類(lèi) Object 中的 hashCode

返回:

此 IP 地址的哈希碼值。

equals

public boolean equals(Object obj)

將此對(duì)象與指定對(duì)象進(jìn)行比較。 當(dāng)且僅當(dāng)參數(shù)不為 null 并且它表示與此對(duì)象相同的 IP 地址時(shí),結(jié)果才為真。

如果 getAddress 返回的字節(jié)數(shù)組的長(zhǎng)度對(duì)于兩者相同,并且每個(gè)數(shù)組組件對(duì)于字節(jié)數(shù)組都相同,則 InetAddress 的兩個(gè)實(shí)例表示相同的 IP 地址。

覆蓋:

類(lèi) Object 中的等于

參數(shù):

參數(shù)名稱(chēng) 參數(shù)描述
obj 要比較的對(duì)象。

返回:

如果對(duì)象相同,則為 true; 否則為false。

toString

public String toString()

將此 IP 地址轉(zhuǎn)換為字符串。 返回的字符串格式為:主機(jī)名/文字 IP 地址。 如果主機(jī)名未解析,則不執(zhí)行反向名稱(chēng)服務(wù)查找。 主機(jī)名部分將由一個(gè)空字符串表示。

覆蓋:

類(lèi) Object 中的 toString

返回:

此 IP 地址的字符串表示形式。

getByAddress

public static InetAddress getByAddress(String host, byte[] addr) throws UnknownHostException

根據(jù)提供的主機(jī)名和 IP 地址創(chuàng)建 InetAddress。 不檢查名稱(chēng)服務(wù)的地址有效性。

主機(jī)名可以是機(jī)器名,例如“java.sun.com”,也可以是其 IP 地址的文本表示。

也不會(huì)對(duì)主機(jī)名進(jìn)行有效性檢查。

如果 addr 指定 IPv4 地址,則將返回 Inet4Address 的實(shí)例; 否則,將返回 Inet6Address 的實(shí)例。

IPv4 地址字節(jié)數(shù)組必須為 4 字節(jié)長(zhǎng),IPv6 字節(jié)數(shù)組必須為 16 字節(jié)長(zhǎng)

參數(shù):

參數(shù)名稱(chēng) 參數(shù)描述
host 指定的主機(jī)
addr 網(wǎng)絡(luò)字節(jié)順序的原始 IP 地址

返回:

從原始 IP 地址創(chuàng)建的 InetAddress 對(duì)象。

Throws:

Throw名稱(chēng) Throw描述
UnknownHostException 如果 IP 地址的長(zhǎng)度非法

getByName

public static InetAddress getByName(String host) throws UnknownHostException

給定主機(jī)名,確定主機(jī)的 IP 地址。

主機(jī)名可以是機(jī)器名,例如“java.sun.com”,也可以是其 IP 地址的文本表示。 如果提供了文字 IP 地址,則僅檢查地址格式的有效性。

對(duì)于以文字 IPv6 地址指定的主機(jī),接受 RFC 2732 中定義的格式或 RFC 2373 中定義的文字 IPv6 地址格式。 還支持 IPv6 范圍地址。

如果主機(jī)為空,則返回表示環(huán)回接口地址的 InetAddress。

參數(shù):

參數(shù)名稱(chēng) 參數(shù)描述
host 指定的主機(jī),或者為空。

返回:

給定主機(jī)名的 IP 地址。

Throws:

Throw名稱(chēng) Throw描述
UnknownHostException 如果找不到主機(jī)的 IP 地址,或者為全局 IPv6 地址指定了 scope_id。
SecurityException 如果存在安全管理器并且其 checkConnect 方法不允許該操作

getAllByName

public static InetAddress[] getAllByName(String host) throws UnknownHostException

給定主機(jī)的名稱(chēng),根據(jù)系統(tǒng)上配置的名稱(chēng)服務(wù)返回其 IP 地址的數(shù)組。

主機(jī)名可以是機(jī)器名,例如“java.sun.com”,也可以是其 IP 地址的文本表示。如果提供了文字 IP 地址,則僅檢查地址格式的有效性。

對(duì)于以文字 IPv6 地址指定的主機(jī),接受 RFC 2732 中定義的格式或 RFC 2373 中定義的文字 IPv6 地址格式。文字 IPv6 地址也可以通過(guò)附加作用域區(qū)域標(biāo)識(shí)符或 scope_id 來(lái)限定。此處描述了 scope_ids 的語(yǔ)法和用法。

如果主機(jī)為空,則返回表示環(huán)回接口地址的 InetAddress。

如果存在安全管理器且主機(jī)不為空且 host.length() 不等于 0,則使用主機(jī)名和 -1 作為其參數(shù)調(diào)用安全管理器的 checkConnect 方法,以查看是否允許操作。

參數(shù):

參數(shù)名稱(chēng) 參數(shù)描述
host 主機(jī)名,或?yàn)榭铡?/td>

返回:

給定主機(jī)名的所有 IP 地址的數(shù)組。

Throws:

Throw名稱(chēng) Throw描述
UnknownHostException 如果找不到主機(jī)的 IP 地址,或者為全局 IPv6 地址指定了 scope_id。
SecurityException 如果存在安全管理器并且其 checkConnect 方法不允許該操作。

getLoopbackAddress

public static InetAddress getLoopbackAddress()

返回環(huán)回地址。

返回的 InetAddress 將表示 IPv4 環(huán)回地址 127.0.0.1 或 IPv6 環(huán)回地址 ::1。 返回的 IPv4 環(huán)回地址只是 127...* 形式的眾多地址之一

返回:

InetAddress 環(huán)回實(shí)例。

getByAddress

public static InetAddress getByAddress(byte[] addr) throws UnknownHostException

返回給定原始 IP 地址的 InetAddress 對(duì)象。 參數(shù)按網(wǎng)絡(luò)字節(jié)順序排列:地址的最高字節(jié)在 getAddress()[0] 中。

此方法不會(huì)阻塞,即不執(zhí)行反向名稱(chēng)服務(wù)查找。

IPv4 地址字節(jié)數(shù)組必須為 4 字節(jié)長(zhǎng),IPv6 字節(jié)數(shù)組必須為 16 字節(jié)長(zhǎng)

參數(shù):

參數(shù)名稱(chēng) 參數(shù)描述
addr 網(wǎng)絡(luò)字節(jié)順序的原始 IP 地址

返回:

從原始 IP 地址創(chuàng)建的 InetAddress 對(duì)象。

Throws:

Throw名稱(chēng) Throw描述
UnknownHostException 如果 IP 地址的長(zhǎng)度非法

getLocalHost

public static InetAddress getLocalHost() throws UnknownHostException

返回本地主機(jī)的地址。 這是通過(guò)從系統(tǒng)中檢索主機(jī)的名稱(chēng),然后將該名稱(chēng)解析為 InetAddress 來(lái)實(shí)現(xiàn)的。

注意:解析后的地址可能會(huì)被緩存一小段時(shí)間。

如果有安全管理器,則使用本地主機(jī)名和 -1 作為其參數(shù)調(diào)用其 checkConnect 方法,以查看是否允許該操作。 如果不允許該操作,則返回表示環(huán)回地址的 InetAddress。

返回:

本地主機(jī)的地址。

Throws:

Throw名稱(chēng) Throw描述
UnknownHostException 如果本地主機(jī)名無(wú)法解析為地址。

當(dāng)前文章:創(chuàng)新互聯(lián)鴻蒙OS教程:鴻蒙OSInetAddress
標(biāo)題URL:http://www.dlmjj.cn/article/cdoschc.html