Files
godot-docs-l10n/classes/ru/class_ip.rst
2025-09-30 13:31:55 +02:00

311 lines
16 KiB
ReStructuredText
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

:github_url: hide
.. meta::
:keywords: dns
.. _class_IP:
IP
==
**Наследует:** :ref:`Object<class_Object>`
Интернет-протокол (IP) поддерживает такие функции, как разрешение DNS.
.. rst-class:: classref-introduction-group
Описание
----------------
IP содержит функции поддержки для интернет-протокола (IP). Поддержка TCP/IP находится в разных классах (см. :ref:`StreamPeerTCP<class_StreamPeerTCP>` и :ref:`TCPServer<class_TCPServer>`). IP обеспечивает поддержку разрешения имен хостов DNS, как блокирующего, так и потокового.
.. rst-class:: classref-reftable-group
Методы
------------
.. table::
:widths: auto
+------------------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| |void| | :ref:`clear_cache<class_IP_method_clear_cache>`\ (\ hostname\: :ref:`String<class_String>` = ""\ ) |
+------------------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| |void| | :ref:`erase_resolve_item<class_IP_method_erase_resolve_item>`\ (\ id\: :ref:`int<class_int>`\ ) |
+------------------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`PackedStringArray<class_PackedStringArray>` | :ref:`get_local_addresses<class_IP_method_get_local_addresses>`\ (\ ) |const| |
+------------------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`Array<class_Array>`\[:ref:`Dictionary<class_Dictionary>`\] | :ref:`get_local_interfaces<class_IP_method_get_local_interfaces>`\ (\ ) |const| |
+------------------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`String<class_String>` | :ref:`get_resolve_item_address<class_IP_method_get_resolve_item_address>`\ (\ id\: :ref:`int<class_int>`\ ) |const| |
+------------------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`Array<class_Array>` | :ref:`get_resolve_item_addresses<class_IP_method_get_resolve_item_addresses>`\ (\ id\: :ref:`int<class_int>`\ ) |const| |
+------------------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`ResolverStatus<enum_IP_ResolverStatus>` | :ref:`get_resolve_item_status<class_IP_method_get_resolve_item_status>`\ (\ id\: :ref:`int<class_int>`\ ) |const| |
+------------------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`String<class_String>` | :ref:`resolve_hostname<class_IP_method_resolve_hostname>`\ (\ host\: :ref:`String<class_String>`, ip_type\: :ref:`Type<enum_IP_Type>` = 3\ ) |
+------------------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`PackedStringArray<class_PackedStringArray>` | :ref:`resolve_hostname_addresses<class_IP_method_resolve_hostname_addresses>`\ (\ host\: :ref:`String<class_String>`, ip_type\: :ref:`Type<enum_IP_Type>` = 3\ ) |
+------------------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`int<class_int>` | :ref:`resolve_hostname_queue_item<class_IP_method_resolve_hostname_queue_item>`\ (\ host\: :ref:`String<class_String>`, ip_type\: :ref:`Type<enum_IP_Type>` = 3\ ) |
+------------------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------+
.. rst-class:: classref-section-separator
----
.. rst-class:: classref-descriptions-group
Перечисления
------------------------
.. _enum_IP_ResolverStatus:
.. rst-class:: classref-enumeration
enum **ResolverStatus**: :ref:`🔗<enum_IP_ResolverStatus>`
.. _class_IP_constant_RESOLVER_STATUS_NONE:
.. rst-class:: classref-enumeration-constant
:ref:`ResolverStatus<enum_IP_ResolverStatus>` **RESOLVER_STATUS_NONE** = ``0``
Статус преобразователя имен хостов DNS: Нет статуса.
.. _class_IP_constant_RESOLVER_STATUS_WAITING:
.. rst-class:: classref-enumeration-constant
:ref:`ResolverStatus<enum_IP_ResolverStatus>` **RESOLVER_STATUS_WAITING** = ``1``
Состояние преобразователя имен хостов DNS: Ожидание.
.. _class_IP_constant_RESOLVER_STATUS_DONE:
.. rst-class:: classref-enumeration-constant
:ref:`ResolverStatus<enum_IP_ResolverStatus>` **RESOLVER_STATUS_DONE** = ``2``
Статус преобразователя имен хостов DNS: Готово.
.. _class_IP_constant_RESOLVER_STATUS_ERROR:
.. rst-class:: classref-enumeration-constant
:ref:`ResolverStatus<enum_IP_ResolverStatus>` **RESOLVER_STATUS_ERROR** = ``3``
Состояние преобразователя имен хостов DNS: Ошибка.
.. rst-class:: classref-item-separator
----
.. _enum_IP_Type:
.. rst-class:: classref-enumeration
enum **Type**: :ref:`🔗<enum_IP_Type>`
.. _class_IP_constant_TYPE_NONE:
.. rst-class:: classref-enumeration-constant
:ref:`Type<enum_IP_Type>` **TYPE_NONE** = ``0``
Тип адреса: Нет.
.. _class_IP_constant_TYPE_IPV4:
.. rst-class:: classref-enumeration-constant
:ref:`Type<enum_IP_Type>` **TYPE_IPV4** = ``1``
Тип адреса: Интернет-протокол версии 4 (IPv4).
.. _class_IP_constant_TYPE_IPV6:
.. rst-class:: classref-enumeration-constant
:ref:`Type<enum_IP_Type>` **TYPE_IPV6** = ``2``
Тип адреса: Интернет-протокол версии 6 (IPv6).
.. _class_IP_constant_TYPE_ANY:
.. rst-class:: classref-enumeration-constant
:ref:`Type<enum_IP_Type>` **TYPE_ANY** = ``3``
Тип адреса: Любой.
.. rst-class:: classref-section-separator
----
.. rst-class:: classref-descriptions-group
Константы
------------------
.. _class_IP_constant_RESOLVER_MAX_QUERIES:
.. rst-class:: classref-constant
**RESOLVER_MAX_QUERIES** = ``256`` :ref:`🔗<class_IP_constant_RESOLVER_MAX_QUERIES>`
Максимально допустимое количество одновременных запросов DNS-резолвера, при превышении возвращается :ref:`RESOLVER_INVALID_ID<class_IP_constant_RESOLVER_INVALID_ID>`.
.. _class_IP_constant_RESOLVER_INVALID_ID:
.. rst-class:: classref-constant
**RESOLVER_INVALID_ID** = ``-1`` :ref:`🔗<class_IP_constant_RESOLVER_INVALID_ID>`
Недопустимая константа ID. Возвращается, если превышена :ref:`RESOLVER_MAX_QUERIES<class_IP_constant_RESOLVER_MAX_QUERIES>`.
.. rst-class:: classref-section-separator
----
.. rst-class:: classref-descriptions-group
Описания метода
------------------------------
.. _class_IP_method_clear_cache:
.. rst-class:: classref-method
|void| **clear_cache**\ (\ hostname\: :ref:`String<class_String>` = ""\ ) :ref:`🔗<class_IP_method_clear_cache>`
Удаляет все кэшированные ссылки ``hostname``. Если ``hostname`` не указан, удаляются все кэшированные IP-адреса.
.. rst-class:: classref-item-separator
----
.. _class_IP_method_erase_resolve_item:
.. rst-class:: classref-method
|void| **erase_resolve_item**\ (\ id\: :ref:`int<class_int>`\ ) :ref:`🔗<class_IP_method_erase_resolve_item>`
Удаляет указанный элемент ``id`` из очереди. Это следует использовать для освобождения очереди после ее завершения, чтобы можно было выполнять больше запросов.
.. rst-class:: classref-item-separator
----
.. _class_IP_method_get_local_addresses:
.. rst-class:: classref-method
:ref:`PackedStringArray<class_PackedStringArray>` **get_local_addresses**\ (\ ) |const| :ref:`🔗<class_IP_method_get_local_addresses>`
Возвращает все текущие адреса IPv4 и IPv6 пользователя в виде массива.
.. rst-class:: classref-item-separator
----
.. _class_IP_method_get_local_interfaces:
.. rst-class:: classref-method
:ref:`Array<class_Array>`\[:ref:`Dictionary<class_Dictionary>`\] **get_local_interfaces**\ (\ ) |const| :ref:`🔗<class_IP_method_get_local_interfaces>`
Возвращает все сетевые адаптеры в виде массива.
Каждый адаптер представляет собой словарь в форме:
::
{
"index": "1", # Индекс интерфейса.
"name": "eth0", # Имя интерфейса.
"friendly": "Ethernet One", # Понятное имя (может быть пустым).
"addresses": ["192.168.1.101"], # Массив IP-адресов, связанных с этим интерфейсом.
}
.. rst-class:: classref-item-separator
----
.. _class_IP_method_get_resolve_item_address:
.. rst-class:: classref-method
:ref:`String<class_String>` **get_resolve_item_address**\ (\ id\: :ref:`int<class_int>`\ ) |const| :ref:`🔗<class_IP_method_get_resolve_item_address>`
Возвращает IP-адрес имени хоста в очереди, учитывая его очередь ``id``. Возвращает пустую строку в случае ошибки или если разрешение еще не произошло (см. :ref:`get_resolve_item_status()<class_IP_method_get_resolve_item_status>`).
.. rst-class:: classref-item-separator
----
.. _class_IP_method_get_resolve_item_addresses:
.. rst-class:: classref-method
:ref:`Array<class_Array>` **get_resolve_item_addresses**\ (\ id\: :ref:`int<class_int>`\ ) |const| :ref:`🔗<class_IP_method_get_resolve_item_addresses>`
Возвращает решенные адреса или пустой массив, если произошла ошибка или разрешение еще не произошло (см. :ref:`get_resolve_item_status()<class_IP_method_get_resolve_item_status>`).
.. rst-class:: classref-item-separator
----
.. _class_IP_method_get_resolve_item_status:
.. rst-class:: classref-method
:ref:`ResolverStatus<enum_IP_ResolverStatus>` **get_resolve_item_status**\ (\ id\: :ref:`int<class_int>`\ ) |const| :ref:`🔗<class_IP_method_get_resolve_item_status>`
Возвращает статус имени хоста в очереди как константу :ref:`ResolverStatus<enum_IP_ResolverStatus>` с учетом его очереди ``id``.
.. rst-class:: classref-item-separator
----
.. _class_IP_method_resolve_hostname:
.. rst-class:: classref-method
:ref:`String<class_String>` **resolve_hostname**\ (\ host\: :ref:`String<class_String>`, ip_type\: :ref:`Type<enum_IP_Type>` = 3\ ) :ref:`🔗<class_IP_method_resolve_hostname>`
Возвращает IPv4 или IPv6-адрес указанного имени хоста при разрешении (метод блокирующего типа). Тип возвращаемого адреса зависит от константы :ref:`Type<enum_IP_Type>`, заданной как ``ip_type``.
.. rst-class:: classref-item-separator
----
.. _class_IP_method_resolve_hostname_addresses:
.. rst-class:: classref-method
:ref:`PackedStringArray<class_PackedStringArray>` **resolve_hostname_addresses**\ (\ host\: :ref:`String<class_String>`, ip_type\: :ref:`Type<enum_IP_Type>` = 3\ ) :ref:`🔗<class_IP_method_resolve_hostname_addresses>`
Разрешает заданное имя хоста блокирующим способом. Адреса возвращаются как :ref:`Array<class_Array>` адресов IPv4 или IPv6 в зависимости от ``ip_type``.
.. rst-class:: classref-item-separator
----
.. _class_IP_method_resolve_hostname_queue_item:
.. rst-class:: classref-method
:ref:`int<class_int>` **resolve_hostname_queue_item**\ (\ host\: :ref:`String<class_String>`, ip_type\: :ref:`Type<enum_IP_Type>` = 3\ ) :ref:`🔗<class_IP_method_resolve_hostname_queue_item>`
Создает элемент очереди для преобразования имени хоста в адрес IPv4 или IPv6 в зависимости от константы :ref:`Type<enum_IP_Type>`, заданной как ``ip_type``. Возвращает идентификатор очереди в случае успеха или :ref:`RESOLVER_INVALID_ID<class_IP_constant_RESOLVER_INVALID_ID>` в случае ошибки.
.. |virtual| replace:: :abbr:`virtual (Этот метод обычно должен быть переопределен пользователем, чтобы иметь какой-либо эффект.)`
.. |required| replace:: :abbr:`required (This method is required to be overridden when extending its base class.)`
.. |const| replace:: :abbr:`const (Этот метод не имеет побочных эффектов. Он не изменяет ни одну из переменных-членов экземпляра.)`
.. |vararg| replace:: :abbr:`vararg (Этот метод принимает любое количество аргументов после описанных здесь.)`
.. |constructor| replace:: :abbr:`constructor (Этот метод используется для создания типа.)`
.. |static| replace:: :abbr:`static (Этот метод не нуждается в вызове экземпляра, поэтому его можно вызвать напрямую, используя имя класса.)`
.. |operator| replace:: :abbr:`operator (Этот метод описывает допустимый оператор для использования с этим типом в качестве левого операнда.)`
.. |bitfield| replace:: :abbr:`BitField (Это значение является целым числом, составленным как битовая маска следующих флагов.)`
.. |void| replace:: :abbr:`void (Нет возвращаемого значения.)`