IP
继承: Object
Internet protocol (IP) support functions such as DNS resolution.
描述
IP contains support functions for the Internet Protocol (IP). TCP/IP support is in different classes (see StreamPeerTCP
and TCPServer
). IP provides DNS hostname resolution support, both blocking and threaded.
方法
void | clear_cache ( hostname: String = "" ) |
void | erase_resolve_item ( id: int ) |
PackedStringArray | get_local_addresses ( ) const1 |
Array Dictionary | get_local_interfaces ( ) const1 |
String | get_resolve_item_address ( id: int ) const1 |
Array | get_resolve_item_addresses ( id: int ) const1 |
ResolverStatus | get_resolve_item_status ( id: int ) const1 |
String | resolve_hostname ( host: String , ip_type: Type = 3 ) |
PackedStringArray | resolve_hostname_addresses ( host: String , ip_type: Type = 3 ) |
int | resolve_hostname_queue_item ( host: String , ip_type: Type = 3 ) |
枚举
enum ResolverStatus:
ResolverStatus RESOLVER_STATUS_NONE = 0
DNS hostname resolver status: No status.
ResolverStatus RESOLVER_STATUS_WAITING = 1
DNS hostname resolver status: Waiting.
ResolverStatus RESOLVER_STATUS_DONE = 2
DNS hostname resolver status: Done.
ResolverStatus RESOLVER_STATUS_ERROR = 3
DNS hostname resolver status: Error.
enum Type:
Type TYPE_NONE = 0
Address type: None.
Type TYPE_IPV4 = 1
Address type: Internet protocol version 4 (IPv4).
Type TYPE_IPV6 = 2
Address type: Internet protocol version 6 (IPv6).
Type TYPE_ANY = 3
Address type: Any.
常量
RESOLVER_MAX_QUERIES = 256
Maximum number of concurrent DNS resolver queries allowed, RESOLVER_INVALID_ID
is returned if exceeded.
RESOLVER_INVALID_ID = -1
Invalid ID constant. Returned if RESOLVER_MAX_QUERIES
is exceeded.
方法说明
void
clear_cache ( hostname: String
= "" )
Removes all of a hostname
's cached references. If no hostname
is given, all cached IP addresses are removed.
void
erase_resolve_item ( id: int
)
Removes a given item id
from the queue. This should be used to free a queue after it has completed to enable more queries to happen.
PackedStringArray
get_local_addresses ( ) const1
Returns all the user's current IPv4 and IPv6 addresses as an array.
Array Dictionary
get_local_interfaces ( ) const1
Returns all network adapters as an array.
Each adapter is a dictionary of the form:
{
"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
) const1
Returns a queued hostname's IP address, given its queue id
. Returns an empty string on error or if resolution hasn't happened yet (see get_resolve_item_status
).
Array
get_resolve_item_addresses ( id: int
) const1
Returns resolved addresses, or an empty array if an error happened or resolution didn't happen yet (see get_resolve_item_status
).
ResolverStatus get_resolve_item_status ( id: int
) const1
Returns a queued hostname's status as a ResolverStatus constant, given its queue id
.
String
resolve_hostname ( host: String
, ip_type: Type = 3 )
Returns a given hostname's IPv4 or IPv6 address when resolved (blocking-type method). The address type returned depends on the Type constant given as ip_type
.
PackedStringArray
resolve_hostname_addresses ( host: String
, ip_type: Type = 3 )
Resolves a given hostname in a blocking way. Addresses are returned as an Array
of IPv4 or IPv6 addresses depending on ip_type
.
int
resolve_hostname_queue_item ( host: String
, ip_type: Type = 3 )
Creates a queue item to resolve a hostname to an IPv4 or IPv6 address depending on the Type constant given as ip_type
. Returns the queue ID if successful, or RESOLVER_INVALID_ID
on error.
本方法通常需要用户覆盖才能生效。
本方法无副作用,不会修改该实例的任何成员变量。
本方法除了能接受在此处描述的参数外,还能够继续接受任意数量的参数。
本方法用于构造某个类型。
调用本方法无需实例,可直接使用类名进行调用。
本方法描述的是使用本类型作为左操作数的有效运算符。
这个值是由下列位标志构成位掩码的整数。
无返回值。