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 (seeStreamPeerTCP andTCP_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

Array

get_resolve_item_addresses(int id)const

ResolverStatus

get_resolve_item_status(int id)const

String

resolve_hostname(String host,Type ip_type=3)

Array

resolve_hostname_addresses(String host,Type ip_type=3)

int

resolve_hostname_queue_item(String host,Type ip_type=3)

Enumerations

enumResolverStatus:

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


enumType:

  • 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 ifRESOLVER_MAX_QUERIES is exceeded.

Method Descriptions

  • voidclear_cache(String hostname="")

Removes all of ahostname's cached references. If nohostname is given, all cached IP addresses are removed.


  • voiderase_resolve_item(int id)

Removes a given itemid from the queue. This should be used to free a queue after it has completed to enable more queries to happen.


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


Returns all network adapters as an array.

Each adapter is a dictionary of the form:


Returns a queued hostname's IP address, given its queueid. Returns an empty string on error or if resolution hasn't happened yet (seeget_resolve_item_status).


Return resolved addresses, or an empty array if an error happened or resolution didn't happen yet (seeget_resolve_item_status).


Returns a queued hostname's status as aResolverStatus constant, given its queueid.


Returns a given hostname's IPv4 or IPv6 address when resolved (blocking-type method). The address type returned depends on theType constant given asip_type.


Resolves a given hostname in a blocking way. Addresses are returned as anArray of IPv4 or IPv6 depending onip_type.


Creates a queue item to resolve a hostname to an IPv4 or IPv6 address depending on theType constant given asip_type. Returns the queue ID if successful, orRESOLVER_INVALID_ID on error.