reckfellENGINE

ENetPacketPeer

Класс-оболочка для ENetPeer(http://enet.bespin.org/group__peer.html).

На этой странице
class ENetPacketPeerReckfellSharpНаследует PacketPeer

Класс-оболочка для ENetPeer(http://enet.bespin.org/group__peer.html).

A PacketPeer :: осуществление, представляющее ENetConnection. Этот класс не может быть напрямую установлен, но может быть извлечен во время ENetConnection.Service или через ENetConnection.GetPeers. Примечание: При экспорте в Андроид убедитесь, что вы можете INTERNET В противном случае любая связь будет заблокирована Android.

Объявления сверены с C# SDK 1.0.0. Раскройте имя, чтобы увидеть сигнатуры и описание.

Методы17

GetChannelsint
# GetChannels
C#
public int GetChannels();

Возвращает количество каналов, выделенных для связи с одноранговым узлом.

Возвращает int
GetPacketFlagsint
# GetPacketFlags
C#
public int GetPacketFlags();

Возвращает флаги ENet следующего пакета в полученной очереди. См. константы FLAG_* для доступных флагов пакетов. Обратите внимание, что не все флаги реплицируются от отправляющего узла к принимающему узлу.

Возвращает int
GetRemoteAddressstring
# GetRemoteAddress
C#
public string GetRemoteAddress();

Возвращает IP-адрес этого однорангового узла.

Возвращает string
GetRemotePortint
# GetRemotePort
C#
public int GetRemotePort();

Возвращает удаленный порт данного однорангового узла.

Возвращает int
GetStateENetPacketPeer.PeerState
# GetState
C#
public ENetPacketPeer.PeerState GetState();

Возвращает текущее состояние однорангового узла (Peer).

Возвращает ENetPacketPeer.PeerState
GetStatisticdouble
# GetStatistic
C#
public double GetStatistic(ENetPacketPeer.PeerStatistic statistic);

Возвращает запрошенную statistic для данного однорангового узла.

Параметры
ИмяТипПо умолчанию
statisticENetPacketPeer.PeerStatistic—
Возвращает double
IsActivebool
# IsActive
C#
public bool IsActive();

Возвращает true, если одноранговый узел в данный момент активен (т. е. связанный ENetConnection все еще действителен).

Возвращает bool
PeerDisconnectvoid
# PeerDisconnect
C#
public void PeerDisconnect(int data = 0);

Запрос на отключение от однорангового пира. ENetConnection.EventType.Disconnect будет сгенерирована во время ENetConnection.Service после завершения отключения.

Параметры
ИмяТипПо умолчанию
dataint0
PeerDisconnectLatervoid
# PeerDisconnectLater
C#
public void PeerDisconnectLater(int data = 0);

Запросить отключение от пира, но только после того, как все исходящие пакеты в очереди будут отправлены. ENetConnection.EventType.Disconnect будет сгенерирована во время ENetConnection.Service после завершения отключения.

Параметры
ИмяТипПо умолчанию
dataint0
PeerDisconnectNowvoid
# PeerDisconnectNow
C#
public void PeerDisconnectNow(int data = 0);

Принудительно выполнить немедленное отключение от однорангового пир. ENetConnection.EventType.Disconnect не будет сгенерирован. Не гарантируется, что внешний одноранговый узел получит уведомление об отключении, и он немедленно сбрасывается после возврата из этой функции.

Параметры
ИмяТипПо умолчанию
dataint0
Pingvoid
# Ping
C#
public void Ping();

Отправляет запрос ping на одноранговый узел. ENet автоматически пингует все подключенные одноранговые узлы через регулярные интервалы, однако эта функция может быть вызвана для обеспечения более частых запросов ping.

PingIntervalvoid
# PingInterval
C#
public void PingInterval(int pingInterval);

Устанавливает ENetPacketPeer.PingInterval в миллисекундах, с которым будут отправляться пинги на одноранговый пир. Пинги используются как для мониторинга активности соединения, так и для динамической регулировки дросселя в периоды низкого трафика, чтобы дроссель имел разумную скорость реагирования во время пиков трафика. Интервал пинга по умолчанию составляет 500 миллисекунд.

Параметры
ИмяТипПо умолчанию
pingIntervalint—
Resetvoid
# Reset
C#
public void Reset();

Принудительно отключает одноранговый пир. Внешний хост, представленный одноранговым пир, не уведомляется об отключении и будет отключаться по тайм-ауту при подключении к локальному хосту.

Send2 перегрузки
# Send · 1/2
C#
public Error Send(int channel, byte[] packet, int flags);

Ставит в очередь packet для отправки по указанному channel. См. константы FLAG_* для доступных флагов пакетов.

Параметры
ИмяТипПо умолчанию
channelint—
packetbyte[]—
flagsint—
Возвращает Error
# Send · 2/2
C#
public Error Send(int channel, ReadOnlySpan<byte> packet, int flags);

Ставит в очередь packet для отправки по указанному channel. См. константы FLAG_* для доступных флагов пакетов.

Параметры
ИмяТипПо умолчанию
channelint—
packetReadOnlySpan<byte>—
flagsint—
Возвращает Error
SetTimeoutvoid
# SetTimeout
C#
public void SetTimeout(int timeout, int timeoutMin, int timeoutMax);

Устанавливает параметры тайм-аута для однорангового пира. Параметры тайм-аута управляют тем, как и когда одноранговый узел будет выходить из-за неспособности подтвердить надежный трафик. Значения тайм-аута выражаются в миллисекундах. timeout — это фактор, который, умноженный на значение, основанное на среднем времени кругового пути, определит предел тайм-аута для надежного пакета. Когда этот предел достигнут, тайм-аут будет удвоен, и одноранговый узел будет отключен, если этот предел достигнет timeout_min. Параметр timeout_max, с другой стороны, определяет фиксированный тайм-аут, в течение которого любой пакет должен быть подтвержден, иначе одноранговый узел будет отброшен.

Параметры
ИмяТипПо умолчанию
timeoutint—
timeoutMinint—
timeoutMaxint—
ThrottleConfigurevoid
# ThrottleConfigure
C#
public void ThrottleConfigure(int interval, int acceleration, int deceleration);

Настраивает параметр дросселя для однорангового пир. Ненадежные пакеты отбрасываются ENet в ответ на изменяющиеся условия интернет-подключения к одноранговому пир. Дроссель представляет собой вероятность того, что ненадежный пакет не будет отброшен и, таким образом, отправлен ENet одноранговому пиру. Измеряя колебания времени кругового пути надежных пакетов в течение указанного interval, ENet либо увеличит вероятность на величину, указанную в параметре acceleration, либо уменьшит ее на величину, указанную в параметре deceleration (оба являются отношениями к ENetPacketPeer.PacketThrottleScale). Когда дроссель имеет значение ENetPacketPeer.PacketThrottleScale, ненадежные пакеты не отбрасываются ENet, и поэтому будет отправлено 100% всех ненадежных пакетов. Когда дроссель имеет значение 0, все ненадежные пакеты отбрасываются ENet, и поэтому будет отправлено 0% всех ненадежных пакетов. Промежуточные значения для дросселя представляют собой промежуточные вероятности между 0% и 100% ненадежных отправляемых пакетов. Ограничения пропускной способности локальных и внешних хостов учитываются для определения разумного предела для вероятности дросселя, выше которого он не должен подниматься даже в самых лучших условиях.

Параметры
ИмяТипПо умолчанию
intervalint—
accelerationint—
decelerationint—

Поля и константы5

FlagReliableПоле
# FlagReliable
C#
public const long FlagReliable = 1;

Пометить отправляемый пакет как надежный.

FlagUnreliableFragmentПоле
# FlagUnreliableFragment
C#
public const long FlagUnreliableFragment = 8;

Пометить отправляемый пакет как ненадежный, даже если пакет слишком большой и требует фрагментации (что увеличивает вероятность его потери).

FlagUnsequencedПоле
# FlagUnsequenced
C#
public const long FlagUnsequenced = 2;

Отметить пакет, подлежащий отправке, как непоследовательный (ненадежный).

PacketLossScaleПоле
# PacketLossScale
C#
public const long PacketLossScale = 65536;

Опорная шкала для потери пакетов. См. ENetPacketPeer.GetStatistic и ENetPacketPeer.PeerStatistic.PacketLoss.

PacketThrottleScaleПоле
# PacketThrottleScale
C#
public const long PacketThrottleScale = 32;

Опорное значение для конфигурации дросселя. Значение по умолчанию — 32. См. ENetPacketPeer.ThrottleConfigure.

ENetPacketPeer.PeerState

ЗначениеОписание
AcknowledgingConnect = 2

Пир подтвердил запрос на соединение.

AcknowledgingDisconnect = 8

Пир подтвердил запрос на отключение.

Connected = 5

В настоящее время пир подключен и готов к коммуникации.

Connecting = 1

В настоящее время пир пытается подключиться.

ConnectionPending = 3

В настоящее время пир подключается.

ConnectionSucceeded = 4

Пир успешно подключился, но пока не готов к взаимодействию (ENetPacketPeer.PeerState.Connected).

DisconnectLater = 6

Ожидается, что одноранговый узел отключится, когда у него больше не останется исходящих пакетов для отправки.

Disconnected = 0

Узел отключен.

Disconnecting = 7

В настоящее время соединение с пиром отключается.

Zombie = 9

Соединение с одноранговым пир было потеряно, но оно не считается полностью отключенным (поскольку одноранговый пир не подтвердил запрос на отключение).

ENetPacketPeer.PeerStatistic

ЗначениеОписание
LastRoundTripTime = 5

Последнее зафиксированное время прохождения надежного пакета туда и обратно.

LastRoundTripTimeVariance = 6

Разница во времени последней зафиксированной поездки.

PacketLoss = 0

Средняя потеря надежных пакетов как отношение к ENetPacketPeer.PacketLossScale.

PacketLossEpoch = 2

Время последнего обновления статистики потери пакетов (в миллисекундах с момента начала соединения). Интервал обновления статистики потери пакетов составляет 10 секунд, и с момента последнего обновления статистики должен быть отправлен хотя бы один пакет.

PacketLossVariance = 1

Коэффициент потери пакетов.

PacketThrottle = 7

Текущий статус дросселя однорангового пира.

PacketThrottleAcceleration = 11

Фактор ускорения дросселя. Более высокие значения заставят ENet быстрее адаптироваться к изменяющимся условиям сети, что приведет к отправке ненадежных пакетов чаще. Значение по умолчанию — 2.

PacketThrottleCounter = 9

Внутреннее значение, используемое для увеличения счетчика дросселя пакетов. Значение жестко закодировано в 7 и не может быть изменено. Вероятно, вместо этого вам следует взглянуть на ENetPacketPeer.PeerStatistic.PacketThrottleAcceleration.

PacketThrottleDeceleration = 12

Фактор замедления дросселя. Более высокие значения заставят ENet быстрее адаптироваться к изменяющимся условиям сети, что приведет к отправке ненадежных пакетов реже часто. Значение по умолчанию — 2.

PacketThrottleEpoch = 10

Время последнего обновления статистики дросселя (в миллисекундах с момента начала соединения). Интервал обновления статистики дросселя — ENetPacketPeer.PeerStatistic.PacketThrottleInterval.

PacketThrottleInterval = 13

Интервал, в течение которого должно измеряться наименьшее среднее время прохождения сигнала туда и обратно для использования механизмом дроссельной заслонки (в миллисекундах). Значение по умолчанию — 5000.

PacketThrottleLimit = 8

Максимальное количество ненадежных пакетов, которые не должны быть отброшены. Это значение всегда больше или равно 1. Начальное значение равно ENetPacketPeer.PacketThrottleScale.

RoundTripTime = 3

Среднее время прохождения пакета туда и обратно для надежных пакетов.

RoundTripTimeVariance = 4

Разница среднего времени прохождения сигнала туда и обратно.

Документация Reckfell EngineНаверх ↑
БЫСТРЫЙ ПЕРЕХОДНачало работыEntity и иерархияC# & .NET 10Сцены и префабы
Руководства и полный API Reckfell K
reckfellENGINE
RECKFELL ACCOUNT

Вход в аккаунт

Войдите в аккаунт Reckfell.

Один аккаунт для всей платформы Reckfell.