W3cubDocs

/Godot 3.2

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 TCP_Server). IP provides DNS hostname resolution support, both blocking and threaded.

Methods

void clear_cache ( String hostname="" )
void erase_resolve_item ( int id )
Array get_local_addresses ( ) const
Array get_local_interfaces ( ) const
String get_resolve_item_address ( int id ) const
ResolverStatus get_resolve_item_status ( int id ) const
String resolve_hostname ( String host, Type ip_type=3 )
int resolve_hostname_queue_item ( String host, Type ip_type=3 )

Enumerations

enum ResolverStatus:

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

enum Type:

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

Constants

  • RESOLVER_MAX_QUERIES = 32 --- 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.

Method Descriptions

void clear_cache ( 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 )

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.

Array get_local_addresses ( ) const

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

Array 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

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

ResolverStatus get_resolve_item_status ( int id ) const

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

String resolve_hostname ( String host, Type 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.

int resolve_hostname_queue_item ( String host, Type 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.

© 2014–2020 Juan Linietsky, Ariel Manzur, Godot Engine contributors
Licensed under the MIT License.
https://docs.godotengine.org/en/3.2/classes/class_ip.html