Attention: Here be dragons
This is the latest
(unstable) version of this documentation, which may document features
not available in or compatible with released stable versions of Godot.
Checking the stable version of the documentation...
ENetPacketPeer
Успадковує: PacketPeer < RefCounted < Object
Клас обгортки для ENetPeer.
Опис
Пакети Впровадження піару, що представляє одноліток ENetConnection.
Цей клас не може бути миттєвий, але може бути відновлений під час ENetConnection.service() або через ENetConnection.get_peers().
Примітка: При експорті до Android, переконайтеся, що ввімкнути INTERNET дозвіл на експорт Android перед експортуванням проекту або за допомогою однієї кнопки розгортання. Інакше, мережевий зв'язок будь-якого роду буде заблокований Android.
Посібники
Методи
get_channels() const |
|
get_packet_flags() const |
|
String |
get_remote_address() const |
get_remote_port() const |
|
get_state() const |
|
get_statistic(statistic: PeerStatistic) |
|
is_active() const |
|
void |
peer_disconnect(data: int = 0) |
void |
peer_disconnect_later(data: int = 0) |
void |
peer_disconnect_now(data: int = 0) |
void |
ping() |
void |
ping_interval(ping_interval: int) |
void |
reset() |
void |
set_timeout(timeout: int, timeout_min: int, timeout_max: int) |
void |
throttle_configure(interval: int, acceleration: int, deceleration: int) |
Переліки
enum PeerState: 🔗
PeerState STATE_DISCONNECTED = 0
Віддалений вузол відключено.
PeerState STATE_CONNECTING = 1
Віддалений вузол зараз намагається підключитися.
PeerState STATE_ACKNOWLEDGING_CONNECT = 2
Віддалений вузол підтвердив запит на з'єднання.
PeerState STATE_CONNECTION_PENDING = 3
Пільговий вузол наразі підключається.
PeerState STATE_CONNECTION_SUCCEEDED = 4
Юрист успішно підключений, але не готовий спілкуватися з ще (STATE_CONNECTED).
PeerState STATE_CONNECTED = 5
В даний час ми зв'яжемося з.
PeerState STATE_DISCONNECT_LATER = 6
Очікується, що вузол відключиться після того, як у нього більше не буде вихідних пакетів для надсилання.
PeerState STATE_DISCONNECTING = 7
В даний час ми відключаємо.
PeerState STATE_ACKNOWLEDGING_DISCONNECT = 8
У зв’язку з тим, що компанія визнала запит про відключення.
PeerState STATE_ZOMBIE = 9
У зв'язку з втратою зв'язку, але не вважається дійсно відключенням (як одноліток не визнавав вимогу відключення).
enum PeerStatistic: 🔗
PeerStatistic PEER_PACKET_LOSS = 0
Збиток цінного пакета надійного пакету як співвідношення стосовно PACKET_LOS_SCALE.
PeerStatistic PEER_PACKET_LOSS_VARIANCE = 1
Варіант втрати пакету.
PeerStatistic PEER_PACKET_LOSS_EPOCH = 2
В той час, в якому було оновлено статистика втрати пакету (в мілісекундах з моменту початку з'єднання). Проміжок для оновлення статистики пакетів становить 10 секунд, і принаймні один пакет повинен бути відправлений з останнього оновлення статистики.
PeerStatistic PEER_ROUND_TRIP_TIME = 3
Термін дії пакету Mean для надійного пакету.
PeerStatistic PEER_ROUND_TRIP_TIME_VARIANCE = 4
Варіант середнього часу туру.
PeerStatistic PEER_LAST_ROUND_TRIP_TIME = 5
Останній записаний круглий час поїздки для надійного пакету.
PeerStatistic PEER_LAST_ROUND_TRIP_TIME_VARIANCE = 6
Варіант останнього часу поїздки записаний.
PeerStatistic PEER_PACKET_THROTTLE = 7
Статус на сервери.
PeerStatistic PEER_PACKET_THROTTLE_LIMIT = 8
Максимальна кількість ненадійних пакетів, які не повинні бути впущені. Це значення завжди перевищує або дорівнює 1. Початкове значення дорівнює PACKET_THROTTLE_SCALE.
PeerStatistic PEER_PACKET_THROTTLE_COUNTER = 9
Внутрішнє значення, яке використовується для підсилення дросельної стійки пакета. Вартість закодовано 7 і не може бути змінена. Ви, ймовірно, хочете подивитися на PEER_PACKET_THROTTLE_ACCELERATION замість.
PeerStatistic PEER_PACKET_THROTTLE_EPOCH = 10
В той час, в якому було оновлено статистика дросель (в мілісекундах з моменту початку з'єднання). Проміжок для оновлення статистичних даних дросель є PEER_PACKET_THROTTLE_INTERVAL.
PeerStatistic PEER_PACKET_THROTTLE_ACCELERATION = 11
Коефіцієнт прискорення кропиви. Найвищі значення дадуть ENet адаптацію до коливання мережевих умов швидше, що викликає ненадійні пакети для відправки більше. Вартість за замовчуванням 2.
PeerStatistic PEER_PACKET_THROTTLE_DECELERATION = 12
Декатераційний фактор дросельної рогатки. Найвищі значення дозволять ENet адаптуватися до коливання мережевих умов швидше, викликаючи небажані пакети, які будуть відправлені less. Вартість за замовчуванням 2.
PeerStatistic PEER_PACKET_THROTTLE_INTERVAL = 13
Проміжок, над яким найнижчий час туру слід виміряти для використання дросельним механізмом (в мілісекундах). Вартість за замовчуванням 5000.
Константи
PACKET_LOSS_SCALE = 65536 🔗
Еталонна шкала для втрати пакетів. Див. get_statistic() та PEER_PACKET_LOSS.
PACKET_THROTTLE_SCALE = 32 🔗
Довідкове значення для конфігурації дросель. Вартість за замовчуванням 32. Див. дросель_configure().
FLAG_RELIABLE = 1 🔗
Позначте пакет, який буде відправлений як надійний.
FLAG_UNSEQUENCED = 2 🔗
Позначте пакет, який буде відправлено беззаперечно (ненадійно).
FLAG_UNRELIABLE_FRAGMENT = 8 🔗
Позначити пакет, який буде відправлений ненадійним, навіть якщо пакет занадто великий і потребує фрагментації (зменшуючи шанс його падіння).
Описи методів
Повертає кількість каналів, виділених для зв'язку з однолітками.
int get_packet_flags() const 🔗
Повертає прапори ENet наступного пакета в отриманій черзі. Перегляньте константи FLAG_* для доступних прапорів пакетів. Зауважте, що не всі прапори реплікуються від однорангового вузла-відправника до однорангового вузла-одержувача.
String get_remote_address() const 🔗
Повертає IP-адресу цього аналога.
Повернення віддаленого порту цього однолітків.
Повертає поточний стан вузла.
float get_statistic(statistic: PeerStatistic) 🔗
Повертає запитуваний statistic для цього вузла.
Повертає true, якщо вузол наразі активний (тобто пов’язане ENetConnection все ще дійсне).
void peer_disconnect(data: int = 0) 🔗
Запит на відключення від вузла. Після завершення відключення під час виконання методу ENetConnection.service() буде згенеровано ENetConnection.EVENT_DISCONNECT.
void peer_disconnect_later(data: int = 0) 🔗
Запитайте відключення від однолітків, але тільки після того, як всі черги будуть відправлені. ENetConnection.EVENT_DISCONNECT генерується під час ENetConnection.service() після завершення відключення.
void peer_disconnect_now(data: int = 0) 🔗
Примусово негайно відключити з'єднання від вузла. ENetConnection.EVENT_DISCONNECT не генеруватиметься. Зовнішній партнер не гарантовано отримає сповіщення про відключення, і його налаштування скидається негайно після повернення з цієї функції.
void ping() 🔗
Надішліть запит на пінг-запит. ENet автоматично ping всіх підключених однолітків при регулярних інтервалах, проте ця функція може бути викликана, щоб забезпечити більш часті запити ping.
void ping_interval(ping_interval: int) 🔗
Встановлюємо ping_interval в мілісекундах, на які будуть відправлені пінги. Пінги використовуються як для моніторингу життєздатності з'єднання, так і для динамічного регулювання дросельності в періоди низького трафіку, так що дросель має обґрунтовану чуйність при поході трафіку. Проміжок за замовчуванням 500 мілісекунди.
void reset() 🔗
Примушено відключає однолітків. Іноземний хост, представлений однолітком, не буде повідомлено про відключення та прострочення на зв'язку з місцевим хостом.
Error send(channel: int, packet: PackedByteArray, flags: int) 🔗
Прийміть packet для відправки за вказаною channel. Див FLAG_* константи для доступних прапорів пакета.
void set_timeout(timeout: int, timeout_min: int, timeout_max: int) 🔗
Налаштовує часові параметри для однолітків. Контроль параметрів маршруту, як і коли одноліток з моменту визнання надійного трафіку. Значення часу виражаються в мілісекундах.
The timeout є фактором, який, багатоповненим значенням на основі середнього часу поїздки, визначить ліміт часу для надійного пакету. При досягненні цього ліміту, часовий час буде подвійним, а одноліток буде відключений, якщо досягнуто ліміт пармовий час_мін. параметр timeout_max, з іншого боку, визначає фіксований час, для якого будь-який пакет повинен бути визнаний або буде пошкоджений.
void throttle_configure(interval: int, acceleration: int, deceleration: int) 🔗
Налаштування параметрів дросельної дросельності для однолітків.
Ненадійні пакети скидаються ENet у відповідь на різні умови підключення до мережі Інтернет. У дросельі є ймовірність того, що ненадійний пакет не повинен бути пошкоджений і таким чином, відправлений ENet на однолітків. При вимірюванні коливань в круглих часах поїздки надійних пакетів над вказаною deceleration, ENet може збільшити ймовірність суми, зазначеної в параметрі acceleration, або зменшити його за величиною, зазначеною в параметрі deceleration (або є відношення до PACKET_THROTTLE_SCALE).
Коли дросель має значення PACKET_THROTTLE_SCALE, ненадійні пакетів скидаються ENet, і тому 100% з усіх ненадійні пакетів буде відправлені.
Коли дросель має значення 0, всі ненадійні пакети скидаються ENet, і так 0% всіх ненадійних пакетів будуть відправлені.
Проміжні значення для тромбоциту є проміжними ймовірностями між 0% і 100% від ненадійних пачок, які надсилаються. Обмеження пропускної здатності місцевих і іноземних господарів враховуються для визначення нечутливого ліміту для ймовірності тромбоцитів, над яким не варто піднімати навіть в кращих умовах.