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.

ENetPacketPeer

Успадковує: PacketPeer < RefCounted < Object

Клас обгортки для ENetPeer.

Опис

Пакети Впровадження піару, що представляє одноліток ENetConnection.

Цей клас не може бути миттєвий, але може бути відновлений під час ENetConnection.service() або через ENetConnection.get_peers().

Примітка: При експорті до Android, переконайтеся, що ввімкнути INTERNET дозвіл на експорт Android перед експортуванням проекту або за допомогою однієї кнопки розгортання. Інакше, мережевий зв'язок будь-якого роду буде заблокований Android.

Посібники

Методи

int

get_channels() const

int

get_packet_flags() const

String

get_remote_address() const

int

get_remote_port() const

PeerState

get_state() const

float

get_statistic(statistic: PeerStatistic)

bool

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()

Error

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_channels() const 🔗

Повертає кількість каналів, виділених для зв'язку з однолітками.


int get_packet_flags() const 🔗

Повертає прапори ENet наступного пакета в отриманій черзі. Перегляньте константи FLAG_* для доступних прапорів пакетів. Зауважте, що не всі прапори реплікуються від однорангового вузла-відправника до однорангового вузла-одержувача.


String get_remote_address() const 🔗

Повертає IP-адресу цього аналога.


int get_remote_port() const 🔗

Повернення віддаленого порту цього однолітків.


PeerState get_state() const 🔗

Повертає поточний стан вузла.


float get_statistic(statistic: PeerStatistic) 🔗

Повертає запитуваний statistic для цього вузла.


bool is_active() const 🔗

Повертає 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% від ненадійних пачок, які надсилаються. Обмеження пропускної здатності місцевих і іноземних господарів враховуються для визначення нечутливого ліміту для ймовірності тромбоцитів, над яким не варто піднімати навіть в кращих умовах.