IP

Наследует: Object

Интернет-протокол (IP) поддерживает такие функции, как разрешение DNS.

Описание

IP содержит функции поддержки для интернет-протокола (IP). Поддержка TCP/IP находится в разных классах (см. StreamPeerTCP и TCPServer). IP обеспечивает поддержку разрешения имен хостов DNS, как блокирующего, так и потокового.

Методы

void

clear_cache(hostname: String = "")

void

erase_resolve_item(id: int)

PackedStringArray

get_local_addresses() const

Array[Dictionary]

get_local_interfaces() const

String

get_resolve_item_address(id: int) const

Array

get_resolve_item_addresses(id: int) const

ResolverStatus

get_resolve_item_status(id: int) const

String

resolve_hostname(host: String, ip_type: Type = 3)

PackedStringArray

resolve_hostname_addresses(host: String, ip_type: Type = 3)

int

resolve_hostname_queue_item(host: String, ip_type: Type = 3)


Перечисления

enum ResolverStatus: 🔗

ResolverStatus RESOLVER_STATUS_NONE = 0

Статус преобразователя имен хостов DNS: Нет статуса.

ResolverStatus RESOLVER_STATUS_WAITING = 1

Состояние преобразователя имен хостов DNS: Ожидание.

ResolverStatus RESOLVER_STATUS_DONE = 2

Статус преобразователя имен хостов DNS: Готово.

ResolverStatus RESOLVER_STATUS_ERROR = 3

Состояние преобразователя имен хостов DNS: Ошибка.


enum Type: 🔗

Type TYPE_NONE = 0

Тип адреса: Нет.

Type TYPE_IPV4 = 1

Тип адреса: Интернет-протокол версии 4 (IPv4).

Type TYPE_IPV6 = 2

Тип адреса: Интернет-протокол версии 6 (IPv6).

Type TYPE_ANY = 3

Тип адреса: Любой.


Константы

RESOLVER_MAX_QUERIES = 256 🔗

Максимально допустимое количество одновременных запросов DNS-резолвера, при превышении возвращается RESOLVER_INVALID_ID.

RESOLVER_INVALID_ID = -1 🔗

Недопустимая константа ID. Возвращается, если превышена RESOLVER_MAX_QUERIES.


Описания метода

void clear_cache(hostname: String = "") 🔗

Удаляет все кэшированные ссылки hostname. Если hostname не указан, удаляются все кэшированные IP-адреса.


void erase_resolve_item(id: int) 🔗

Удаляет указанный элемент id из очереди. Это следует использовать для освобождения очереди после ее завершения, чтобы можно было выполнять больше запросов.


PackedStringArray get_local_addresses() const 🔗

Возвращает все текущие адреса IPv4 и IPv6 пользователя в виде массива.


Array[Dictionary] get_local_interfaces() const 🔗

Возвращает все сетевые адаптеры в виде массива.

Каждый адаптер представляет собой словарь в форме:

{
    "index": "1", # Индекс интерфейса.
    "name": "eth0", # Имя интерфейса.
    "friendly": "Ethernet One", # Понятное имя (может быть пустым).
    "addresses": ["192.168.1.101"], # Массив IP-адресов, связанных с этим интерфейсом.
}

String get_resolve_item_address(id: int) const 🔗

Возвращает IP-адрес имени хоста в очереди, учитывая его очередь id. Возвращает пустую строку в случае ошибки или если разрешение еще не произошло (см. get_resolve_item_status()).


Array get_resolve_item_addresses(id: int) const 🔗

Возвращает решенные адреса или пустой массив, если произошла ошибка или разрешение еще не произошло (см. get_resolve_item_status()).


ResolverStatus get_resolve_item_status(id: int) const 🔗

Возвращает статус имени хоста в очереди как константу ResolverStatus с учетом его очереди id.


String resolve_hostname(host: String, ip_type: Type = 3) 🔗

Возвращает IPv4 или IPv6-адрес указанного имени хоста при разрешении (метод блокирующего типа). Тип возвращаемого адреса зависит от константы Type, заданной как ip_type.


PackedStringArray resolve_hostname_addresses(host: String, ip_type: Type = 3) 🔗

Разрешает заданное имя хоста блокирующим способом. Адреса возвращаются как Array адресов IPv4 или IPv6 в зависимости от ip_type.


int resolve_hostname_queue_item(host: String, ip_type: Type = 3) 🔗

Создает элемент очереди для преобразования имени хоста в адрес IPv4 или IPv6 в зависимости от константы Type, заданной как ip_type. Возвращает идентификатор очереди в случае успеха или RESOLVER_INVALID_ID в случае ошибки.