IP
Наследует: Object
Интернет-протокол (IP) поддерживает такие функции, как разрешение DNS.
Описание
IP содержит функции поддержки для интернет-протокола (IP). Поддержка TCP/IP находится в разных классах (см. StreamPeerTCP и TCPServer). IP обеспечивает поддержку разрешения имен хостов DNS, как блокирующего, так и потокового.
Методы
void |
clear_cache(hostname: String = "") |
void |
erase_resolve_item(id: int) |
get_local_addresses() const |
|
get_local_interfaces() const |
|
get_resolve_item_address(id: int) const |
|
get_resolve_item_addresses(id: int) const |
|
get_resolve_item_status(id: int) const |
|
resolve_hostname(host: String, ip_type: Type = 3) |
|
resolve_hostname_addresses(host: String, ip_type: Type = 3) |
|
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 в случае ошибки.