IP

继承: Object

继承人: IP_Unix

类别: 核心

简要说明

Internet协议(IP)支持DNS解析等功能。

枚举

枚举 ResolverStatus

  • RESOLVER_STATUS_NONE = 0 ---DNS主机名解析程序状态:无状态。

  • RESOLVER_STATUS_WAITING = 1 ---DNS主机名解析程序状态:正在等待。

  • RESOLVER_STATUS_DONE = 2 ---DNS主机名解析程序状态:完成。

  • RESOLVER_STATUS_ERROR = 3 ---DNS主机名解析程序状态:错误。

枚举 Type

  • TYPE_NONE = 0 ---地址类型:无。

  • TYPE_IPV4 = 1 ---地址类型:Internet协议版本4(IPv4)。

  • TYPE_IPV6 = 2 ---地址类型:Internet协议版本6(IPv6)。

  • TYPE_ANY = 3 ---地址类型:任意。

常量

  • RESOLVER_MAX_QUERIES = 32 ---允许的并发DNS解析程序查询的最大数目, RESOLVER_INVALID_ID 如果超过则返回。

  • RESOLVER_INVALID_ID = -1 ---ID常量无效。如果返回 RESOLVER_MAX_QUERIES 超过了。

描述

IP包含对Internet协议(IP)的支持功能。TCP/IP支持在不同的类中(请参见 StreamPeerTCPTCP_Server )IP提供DNS主机名解析支持,包括阻塞和线程。

方法说明

  • 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

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

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

{
    "index": "1", # Interface index.
    "name": "eth0", # Interface name.
    "friendly": "Ethernet One", # A friendly name (might be empty).
    "addresses": ["192.168.1.101"], # An array of IP addresses associated to this interface.
}
  • String get_resolve_item_address ( int id ) const

返回排队主机名的IP地址(给定其队列) id . 返回一个空字符串,如果出现错误或尚未解决问题(请参见 get_resolve_item_status

将排队主机名的状态作为 RESOLVER_STATUS_* 常量,给定其队列 id .

解析时返回给定主机名的IPv4或IPv6地址(阻塞类型方法)。返回的地址类型取决于 TYPE_* 常数给定为 ip_type .

  • int resolve_hostname_queue_item ( String host, Type ip_type=3 )

创建队列项以将主机名解析为IPv4或IPv6地址,具体取决于 TYPE_* 常数给定为 ip_type . 如果成功,则返回队列ID,或者 RESOLVER_INVALID_ID 关于错误。