Class reference
IP
Inherits Object
Internet protocol (IP) support functions such as DNS resolution.
Description
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.
Methods
void clear_cache(String hostname = "")
String hostname = "")Removes all of a hostname's cached references. If no hostname is given, all cached IP addresses are removed.
void erase_resolve_item(int id)
int id)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() const
PackedStringArray get_local_addresses() constReturns all the user's current IPv4 and IPv6 addresses as an array.
Dictionary[] get_local_interfaces() const
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(int id) const
String get_resolve_item_address(int id) constReturns 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(int id) const
Array get_resolve_item_addresses(int id) constReturns resolved addresses, or an empty array if an error happened or resolution didn't happen yet (see get_resolve_item_status()).
int get_resolve_item_status(int id) const
int get_resolve_item_status(int id) constReturns a queued hostname's status as a ResolverStatus constant, given its queue id.
String resolve_hostname(String host, int ip_type = 3)
String resolve_hostname(String host, int ip_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(String host, int ip_type = 3)
PackedStringArray resolve_hostname_addresses(String host, int ip_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(String host, int ip_type = 3)
int resolve_hostname_queue_item(String host, int ip_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.
Constants
RESOLVER_STATUS_NONE = 0
DNS hostname resolver status: No status.
RESOLVER_STATUS_WAITING = 1
DNS hostname resolver status: Waiting.
RESOLVER_STATUS_DONE = 2
DNS hostname resolver status: Done.
RESOLVER_STATUS_ERROR = 3
DNS hostname resolver status: Error.
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.
TYPE_NONE = 0
Address type: None.
TYPE_IPV4 = 1
Address type: Internet protocol version 4 (IPv4).
TYPE_IPV6 = 2
Address type: Internet protocol version 6 (IPv6).
TYPE_ANY = 3
Address type: Any.