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 🔗

以数组形式返回所有网络适配器。

每个适配器都是一个以下形式的字典:

  1. {
  2. "index":"1", # 接口索引。
  3. "name":"eth0", # 接口名称。
  4. "friendly":"Ethernet One", # 友好的名字(可能是空的)。
  5. "address":["192.168.1.101"], # 与此接口相关的 IP 地址数组。
  6. }

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