Skip to content
Branch: master
Find file Copy path
Find file Copy path
Fetching contributors…
Cannot retrieve contributors at this time
144 lines (83 sloc) 7.2 KB


Inherits: :ref:`Object<class_Object>`

Inherited By: :ref:`IP_Unix<class_IP_Unix>`

Category: Core

Brief Description

Internet protocol (IP) support functions like DNS resolution.


void :ref:`clear_cache<class_IP_method_clear_cache>` ( :ref:`String<class_String>` hostname="" )
void :ref:`erase_resolve_item<class_IP_method_erase_resolve_item>` ( :ref:`int<class_int>` id )
:ref:`Array<class_Array>` :ref:`get_local_addresses<class_IP_method_get_local_addresses>` ( ) const
:ref:`String<class_String>` :ref:`get_resolve_item_address<class_IP_method_get_resolve_item_address>` ( :ref:`int<class_int>` id ) const
:ref:`ResolverStatus<enum_IP_ResolverStatus>` :ref:`get_resolve_item_status<class_IP_method_get_resolve_item_status>` ( :ref:`int<class_int>` id ) const
:ref:`String<class_String>` :ref:`resolve_hostname<class_IP_method_resolve_hostname>` ( :ref:`String<class_String>` host, :ref:`Type<enum_IP_Type>` ip_type=3 )
:ref:`int<class_int>` :ref:`resolve_hostname_queue_item<class_IP_method_resolve_hostname_queue_item>` ( :ref:`String<class_String>` host, :ref:`Type<enum_IP_Type>` ip_type=3 )


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.


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


IP contains support functions for the Internet Protocol (IP). TCP/IP support is in different classes (see :ref:`StreamPeerTCP<class_StreamPeerTCP>` and :ref:`TCP_Server<class_TCP_Server>`). IP provides DNS hostname resolution support, both blocking and threaded.

Method Descriptions

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

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.

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

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 :ref:`get_resolve_item_status<class_IP_method_get_resolve_item_status>`).

Returns a queued hostname's status as a RESOLVER_STATUS_* constant, given its queue "id".

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

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.

You can’t perform that action at this time.