IP

Inherits: Object

Funciones de soporte del protocolo de Internet (IP) como la resolución del DNS.

Descripción

IP contiene funciones de apoyo al Protocolo de Internet (IP). El soporte de TCP/IP está en diferentes clases (ver StreamPeerTCP y TCP_Server). IP proporciona soporte para la resolución de nombres de host DNS, tanto de bloques como en hilos.

Métodos

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 )

Enumeraciones

enum ResolverStatus:

  • RESOLVER_STATUS_NONE = 0 --- Estado de la resolución del nombre de host del DNS: No hay estado.

  • RESOLVER_STATUS_WAITING = 1 --- Estado de la resolución del nombre de host del DNS: Esperando.

  • RESOLVER_STATUS_DONE = 2 --- Estado de la resolución del nombre de host del DNS: Hecho.

  • RESOLVER_STATUS_ERROR = 3 --- Estado de la resolución del nombre de host del DNS: Error.


enum Type:

  • TYPE_NONE = 0 --- Tipo de dirección: Ninguna.

  • TYPE_IPV4 = 1 --- Tipo de dirección: Protocolo de Internet versión 4 (IPv4).

  • TYPE_IPV6 = 2 --- Tipo de dirección: Protocolo de Internet versión 6 (IPv6).

  • TYPE_ANY = 3 --- Tipo de dirección: Cualquiera.

Constantes

  • RESOLVER_MAX_QUERIES = 32 --- El máximo número de consultas de resolución DNS concurrentes permitidas, RESOLVER_INVALID_ID se devuelve si se excede.

  • RESOLVER_INVALID_ID = -1 --- Constante de identificación inválida. Devuelta si se supera la constant RESOLVER_MAX_QUERIES.

Descripciones de Métodos

  • void clear_cache ( String hostname="" )

Elimina todas las referencias de un hostname en la caché. Si no se da un hostname, se eliminan todas las direcciones IP en caché.


  • void erase_resolve_item ( int id )

Elimina un determinado elemento id de la cola. Esto debería usarse para liberar una cola después de que se haya completado para permitir que ocurran más consultas.


  • Array get_local_addresses ( ) const

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


  • Array get_local_interfaces ( ) const

Devuelve todos los adaptadores de red como un array.

Cada adaptador es un diccionario de la forma:

{
    "index": "1", # indice interfaz.
    "name": "eth0", # nombre interfaz.
    "friendly": "Ethernet One", # Un nombre amigable (puede ser vacio).
    "addresses": ["192.168.1.101"], # Un array de direcciones IP asociadas a esta interfaz.
}

  • String get_resolve_item_address ( int id ) const

Devuelve una elemento encolado de una direccion IP de un hostname, dada su cola id. Devuelve una string vacía en caso de error o si la resolución no se ha producido todavía (ver get_resolve_item_status).


  • Array get_resolve_item_addresses ( int id ) const

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


Devuelve el estado de un encolado de hostname como una constante de ResolverStatus, dada su cola id.


Devuelve la dirección IPv4 o IPv6 de un determinado nombre de host cuando se resuelve (método de bloqueo). El tipo de dirección devuelto depende de la constante Type dada como ip_type.


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


  • int resolve_hostname_queue_item ( String host, Type ip_type=3 )

Crea un elemento de cola para resolver un nombre de host a una dirección IPv4 o IPv6 dependiendo de la constante Type dada como ip_type. Devuelve el ID de la cola si tiene éxito, o la constante RESOLVER_INVALID_ID en caso de error.