IP¶
继承: Object
Internet协议(IP)支持DNS解析等功能。
描述¶
IP包含对网络之间互连的协议(IP)的支持功能。TCP/IP支持属于不同的类别(参见StreamPeerTCP和TCPServer)。IP提供DNS主机名解析支持,包括阻塞和线程。
方法¶
void |
clear_cache(hostname: String = "") |
void |
erase_resolve_item(id: int) |
get_local_addresses() const |
|
get_local_interfaces() const |
|
get_resolve_item_address(id: int) const |
|
get_resolve_item_addresses(id: int) const |
|
get_resolve_item_status(id: int) const |
|
resolve_hostname(host: String, ip_type: Type = 3) |
|
resolve_hostname_addresses(host: String, ip_type: Type = 3) |
|
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
地址类型:Internet协议版本4(IPv4)。
Type TYPE_IPV6 = 2
地址类型:Internet协议版本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 🔗
以数组形式返回所有网络适配器。每个适配器都是一个字典,格式如下:
{
"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(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_type给出的Type常量。
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) 🔗
创建一个队列项,根据作为ip_type给出的Type常量将主机名解析为IPv4或IPv6地址。如果成功,则返回队列ID,如果错误,则返回RESOLVER_INVALID_ID。