IP¶
Inherits: Object
互联网协议(IP)支持功能,如DNS解析。
描述¶
IP包含对互联网协议(IP)的支持功能。TCP/IP支持在不同的类别中(见StreamPeerTCP和TCP_Server)。IP提供DNS主机名解析支持,包括阻塞式和线程式。
方法¶
void |
clear_cache ( String hostname="" ) |
void |
erase_resolve_item ( int id ) |
get_local_addresses ( ) const |
|
get_local_interfaces ( ) const |
|
get_resolve_item_address ( int id ) const |
|
get_resolve_item_addresses ( int id ) const |
|
get_resolve_item_status ( int id ) const |
|
resolve_hostname ( String host, Type ip_type=3 ) |
|
resolve_hostname_addresses ( String host, Type ip_type=3 ) |
|
resolve_hostname_queue_item ( String host, Type ip_type=3 ) |
枚举¶
enum ResolverStatus:
RESOLVER_STATUS_NONE = 0 --- DNS 主机名解析器状态:无状态。
RESOLVER_STATUS_WAITING = 1 --- DNS 主机名解析器状态:正在等待。
RESOLVER_STATUS_DONE = 2 --- DNS 主机名解析器状态:完成。
RESOLVER_STATUS_ERROR = 3 --- DNS 主机名解析器状态:错误。
enum Type:
TYPE_NONE = 0 --- 地址类型:无。
TYPE_IPV4 = 1 --- 地址类型:互联网协议版本4(IPv4)。
TYPE_IPV6 = 2 --- 地址类型:互联网协议版本6(IPv6)。
TYPE_ANY = 3 --- 地址类型:任意。
常量¶
RESOLVER_MAX_QUERIES = 32 --- 允许的最大并发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
。这应该被用来在队列完成后释放队列,以便进行更多的查询。
Array get_local_addresses ( ) const
以数组形式返回所有用户的当前IPv4和IPv6地址。
Array get_local_interfaces ( ) const
以数组形式返回所有网络适配器(network adapters)。
每个适配器是一个形式的字典。
{
"index":"1", # 接口索引。
"name":"eth0", # 接口名称。
"friendly":"Ethernet One", # 一个友好的名字(可能是空的)。
"address":["192.168.1.101"], # 一个与此接口相关的IP地址数组。
}
给定队列 id
,返回排队主机名的 IP 地址。出现错误或解析尚未发生时返回一个空字符串(参阅 get_resolve_item_status)。
如果发生错误或尚未发生解析,则返回已解析的地址或空数组(请参阅 get_resolve_item_status)。
ResolverStatus get_resolve_item_status ( int id ) const
给定队列 id
,以 ResolverStatus 常量的形式返回排队主机名的状态。
在解析时返回一个给定的主机名的IPv4或IPv6地址(阻塞类型方法)。返回的地址类型取决于作为ip_type
的Type常量。
以阻塞方式解析给定的主机名。地址作为 IPv4 或 IPv6 的 Array 数组返回,具体取决于 ip_type
。
创建一个队列项目,根据Type常数ip_type
,将主机名解析为IPv4或IPv6地址。如果成功,返回队列ID,否则返回RESOLVER_INVALID_ID。