IP
繼承: Object
網際協定(IP)支援函式,如 DNS 解析。
說明
IP 包含網際協定(IP)的支援函式。TCP/IP 的支援在其他類中(請參閱 StreamPeerTCP 和 TCPServer)。IP 提供 DNS 主機名稱解析支援,包括阻塞式和線程式。
方法
void |
clear_cache(hostname: String = "") |
void |
erase_resolve_item(id: int) |
get_local_addresses() const |
|
get_local_interfaces() const |
|
get_resolve_item_address(id: int) const |
|
get_resolve_item_addresses(id: int) const |
|
get_resolve_item_status(id: int) const |
|
resolve_hostname(host: String, ip_type: Type = 3) |
|
resolve_hostname_addresses(host: String, ip_type: Type = 3) |
|
resolve_hostname_queue_item(host: String, ip_type: Type = 3) |
列舉
enum ResolverStatus: 🔗
ResolverStatus RESOLVER_STATUS_NONE = 0
DNS 主機名稱解析器狀態:無狀態。
ResolverStatus RESOLVER_STATUS_WAITING = 1
DNS 主機名稱解析器狀態:正在等待。
ResolverStatus RESOLVER_STATUS_DONE = 2
DNS 主機名稱解析器狀態:完成。
ResolverStatus RESOLVER_STATUS_ERROR = 3
DNS 主機名稱解析器狀態:錯誤。
enum Type: 🔗
Type TYPE_NONE = 0
網址類別型:無。
Type TYPE_IPV4 = 1
網址類別型:網際協議版本 4(IPv4)。
Type TYPE_IPV6 = 2
網址類別型:網際協議版本 6(IPv6)。
Type TYPE_ANY = 3
網址類別型:任意。
常數
RESOLVER_MAX_QUERIES = 256 🔗
允許的最大併發 DNS 解析器查詢數量,如果超過,則返回 RESOLVER_INVALID_ID。
RESOLVER_INVALID_ID = -1 🔗
無效的 ID 常數。在超過 RESOLVER_MAX_QUERIES 時返回。
方法說明
void clear_cache(hostname: String = "") 🔗
移除所有 hostname 主機名稱的快取引用。如果沒有給出 hostname,所有快取的 IP 地址將被刪除。
void erase_resolve_item(id: int) 🔗
從佇列中刪除一個給定的專案 id。這應該被用來在佇列完成後釋放佇列,以便進行更多的查詢。
PackedStringArray get_local_addresses() const 🔗
以陣列形式返回所有使用者的目前 IPv4 和 IPv6 地址。
Array[Dictionary] get_local_interfaces() const 🔗
以陣列形式返回所有網路介面卡。
每個適配器都是一個以下形式的字典:
{
"index":"1", # 介面索引。
"name":"eth0", # 介面名稱。
"friendly":"Ethernet One", # 友好的名字(可能是空的)。
"address":["192.168.1.101"], # 與此介面相關的 IP 位址陣列。
}
String get_resolve_item_address(id: int) const 🔗
給定佇列 id,返回排隊主機名稱的 IP 位址。出現錯誤或解析尚未發生時返回一個空字串(見 get_resolve_item_status())。
Array get_resolve_item_addresses(id: int) const 🔗
如果發生錯誤或尚未發生解析,則返回已解析的位址或空陣列(請參閱 get_resolve_item_status())。
ResolverStatus get_resolve_item_status(id: int) const 🔗
給定佇列 id,以 ResolverStatus 常數的形式返回排隊主機名稱的狀態。
String resolve_hostname(host: String, ip_type: Type = 3) 🔗
在解析時返回一個給定的主機名稱的 IPv4 或 IPv6 位址(阻塞型別方法)。返回的地址型別取決於作為 ip_type 的 Type 常數。
PackedStringArray resolve_hostname_addresses(host: String, ip_type: Type = 3) 🔗
以阻塞方式解析給定的主機名稱。位址作為 IPv4 或 IPv6 的 Array 陣列返回,具體取決於 ip_type。
int resolve_hostname_queue_item(host: String, ip_type: Type = 3) 🔗
建立一個佇列專案,根據 Type 常數 ip_type,將主機名稱解析為 IPv4 或 IPv6 地址。如果成功,則返回佇列 ID,否則返回 RESOLVER_INVALID_ID。