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。