Inheritance #

Table of contents

IP #

core, not_builtin_classes, singleton

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.

Members #

Methods #

func clear_cache(hostname: String = "") -> void#

Removes all of a hostname's cached references. If no hostname is given, all cached IP addresses are removed.

func erase_resolve_item(id: int) -> void#

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.

const func get_local_addresses() -> PackedStringArray#

Returns all the user's current IPv4 and IPv6 addresses as an array.

const func get_local_interfaces() -> Dictionary[]#

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.
}

const func get_resolve_item_address(id: int) -> String#

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).

const func get_resolve_item_addresses(id: int) -> Array#

Returns resolved addresses, or an empty array if an error happened or resolution didn't happen yet (see get_resolve_item_status).

const func get_resolve_item_status(id: int) -> intIP.ResolverStatus#

Returns a queued hostname's status as a ResolverStatus constant, given its queue id.

func resolve_hostname(ip_type: int = 3 enumIP.Type) -> String#

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.

func resolve_hostname_addresses(ip_type: int = 3 enumIP.Type) -> PackedStringArray#

Resolves a given hostname in a blocking way. Addresses are returned as an Array of IPv4 or IPv6 addresses depending on ip_type.

func resolve_hostname_queue_item(ip_type: int = 3 enumIP.Type) -> int#

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.

Annotations #

Constants #

const RESOLVER_STATUS_NONE = 0 enum ResolverStatus#

DNS hostname resolver status: No status.

const RESOLVER_STATUS_WAITING = 1 enum ResolverStatus#

DNS hostname resolver status: Waiting.

const RESOLVER_STATUS_DONE = 2 enum ResolverStatus#

DNS hostname resolver status: Done.

const RESOLVER_STATUS_ERROR = 3 enum ResolverStatus#

DNS hostname resolver status: Error.

const RESOLVER_MAX_QUERIES = 256#

Maximum number of concurrent DNS resolver queries allowed, RESOLVER_INVALID_ID is returned if exceeded.

const RESOLVER_INVALID_ID = -1#

Invalid ID constant. Returned if RESOLVER_MAX_QUERIES is exceeded.

const TYPE_NONE = 0 enum Type#

Address type: None.

const TYPE_IPV4 = 1 enum Type#

Address type: Internet protocol version 4 (IPv4).

const TYPE_IPV6 = 2 enum Type#

Address type: Internet protocol version 6 (IPv6).

const TYPE_ANY = 3 enum Type#

Address type: Any.

Constructors #

Enums #

ResolverStatus#

enum ResolverStatus { RESOLVER_STATUS_NONE = 0, RESOLVER_STATUS_WAITING = 1, RESOLVER_STATUS_DONE = 2, RESOLVER_STATUS_ERROR = 3, }

Type#

enum Type { TYPE_NONE = 0, TYPE_IPV4 = 1, TYPE_IPV6 = 2, TYPE_ANY = 3, }

Notifications#

enum { RESOLVER_INVALID_ID = -1, RESOLVER_MAX_QUERIES = 256, }

Operators #

Signals #

Theme Items #

Tutorials #