Up to date

This page is up to date for Godot 4.2. If you still find outdated information, please open an issue.

IP

继承: Object

网际协议(IP)支持函数,如 DNS 解析。

描述

IP 包含网际协议(IP)的支持函数。TCP/IP 的支持在其他类中(请参阅 StreamPeerTCPTCPServer)。IP 提供 DNS 主机名解析支持,包括阻塞式和线程式。

方法

void

clear_cache ( String hostname="" )

void

erase_resolve_item ( int id )

PackedStringArray

get_local_addresses ( ) const

Dictionary[]

get_local_interfaces ( ) const

String

get_resolve_item_address ( int id ) const

Array

get_resolve_item_addresses ( int id ) const

ResolverStatus

get_resolve_item_status ( int id ) const

String

resolve_hostname ( String host, Type ip_type=3 )

PackedStringArray

resolve_hostname_addresses ( String host, Type ip_type=3 )

int

resolve_hostname_queue_item ( String host, Type ip_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 ( String hostname="" )

移除所有 hostname 主机名的缓存引用。如果没有给出 hostname,所有缓存的 IP 地址将被删除。


void erase_resolve_item ( int id )

从队列中删除一个给定的项目 id。这应该被用来在队列完成后释放队列,以便进行更多的查询。


PackedStringArray get_local_addresses ( ) const

以数组形式返回所有用户的当前 IPv4 和 IPv6 地址。


Dictionary[] get_local_interfaces ( ) const

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

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

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

String get_resolve_item_address ( int id ) const

给定队列 id,返回排队主机名的 IP 地址。出现错误或解析尚未发生时返回一个空字符串(见 get_resolve_item_status)。


Array get_resolve_item_addresses ( int id ) const

如果发生错误或尚未发生解析,则返回已解析的地址或空数组(请参阅 get_resolve_item_status)。


ResolverStatus get_resolve_item_status ( int id ) const

给定队列 id,以 ResolverStatus 常量的形式返回排队主机名的状态。


String resolve_hostname ( String host, Type ip_type=3 )

在解析时返回一个给定的主机名的 IPv4 或 IPv6 地址(阻塞类型方法)。返回的地址类型取决于作为 ip_typeType 常量。


PackedStringArray resolve_hostname_addresses ( String host, Type ip_type=3 )

以阻塞方式解析给定的主机名。地址作为 IPv4 或 IPv6 的 Array 数组返回,具体取决于 ip_type


int resolve_hostname_queue_item ( String host, Type ip_type=3 )

创建一个队列项目,根据 Type 常量 ip_type,将主机名解析为 IPv4 或 IPv6 地址。如果成功,则返回队列 ID,否则返回 RESOLVER_INVALID_ID