Attention: Here be dragons

This is the latest (unstable) version of this documentation, which may document features not available in or compatible with released stable versions of Godot.

IP

繼承: Object

網際協定(IP)支援函式,如 DNS 解析。

說明

IP 包含網際協定(IP)的支援函式。TCP/IP 的支援在其他類中(請參閱 StreamPeerTCPTCPServer)。IP 提供 DNS 主機名稱解析支援,包括阻塞式和線程式。

方法

void

clear_cache(hostname: String = "")

void

erase_resolve_item(id: int)

PackedStringArray

get_local_addresses() const

Array[Dictionary]

get_local_interfaces() const

String

get_resolve_item_address(id: int) const

Array

get_resolve_item_addresses(id: int) const

ResolverStatus

get_resolve_item_status(id: int) const

String

resolve_hostname(host: String, ip_type: Type = 3)

PackedStringArray

resolve_hostname_addresses(host: String, ip_type: Type = 3)

int

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_typeType 常數。


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