ENetPacketPeer
Успадковує: PacketPeer < RefCounted < Object
Клас обгортки для ENetPeer.
Опис
Пакети Впровадження піару, що представляє одноліток ENetConnection.
Цей клас не може бути миттєвий, але може бути відновлений під час ENetConnection.service() або через ENetConnection.get_peers().
Примітка: При експорті до Android, переконайтеся, що ввімкнути INTERNET дозвіл на експорт Android перед експортуванням проекту або за допомогою однієї кнопки розгортання. Інакше, мережевий зв'язок будь-якого роду буде заблокований Android.
Посібники
Методи
get_channels() const |
|
get_packet_flags() const |
|
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() |
send(channel: int, packet: PackedByteArray, flags: int) |
|
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% від ненадійних пачок, які надсилаються. Обмеження пропускної здатності місцевих і іноземних господарів враховуються для визначення нечутливого ліміту для ймовірності тромбоцитів, над яким не варто піднімати навіть в кращих умовах.