reckfellENGINE

PacketPeer

Абстракция и базовый класс для пакетных протоколов.

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

Абстракция и базовый класс для пакетных протоколов.

PacketPeer , является абстракцией и базовым классом для протоколов, основанных на пакетах (таких как UDP). Он обеспечивает API для отправки и получения пакетов как необработанных данных или переменных. Это облегчает передачу данных по протоколу без необходимости кодировки данных как низкоуровневый байт или необходимости беспокоиться о заказе сети. Примечание: При экспорте в Андроид убедитесь, что вы можете INTERNET В противном случае любая связь будет заблокирована Android.

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

Свойства1

EncodeBufferMaxSizeСвойство
# EncodeBufferMaxSize
C#
public int EncodeBufferMaxSize { get; set; }

Максимальный размер буфера, разрешенный при кодировании Variant. Увеличьте это значение для поддержки более интенсивного выделения памяти. Метод PacketPeer.PutVar выделяет память в стеке, и используемый буфер будет автоматически увеличиваться до ближайшей степени двойки, чтобы соответствовать размеру Variant. Если Variant больше, чем PacketPeer.EncodeBufferMaxSize, метод выдаст ошибку с ERR_OUT_OF_MEMORY.

Методы9

GetAvailablePacketCountint
# GetAvailablePacketCount
C#
public int GetAvailablePacketCount();

Возвращает количество пакетов, доступных в данный момент в кольцевом буфере.

Возвращает int
GetEncodeBufferMaxSizeint
# GetEncodeBufferMaxSize
C#
public int GetEncodeBufferMaxSize();
Возвращает int
GetPacketbyte[]
# GetPacket
C#
public byte[] GetPacket();

Получает необработанный пакет.

Возвращает byte[]
GetPacketErrorError
# GetPacketError
C#
public Error GetPacketError();

Возвращает состояние ошибки последнего полученного пакета (через PacketPeer.GetPacket и PacketPeer.GetVar).

Возвращает Error
GetVarVariant
# GetVar
C#
public Variant GetVar(bool allowObjects = false);

Получает Variant. Если allow_objects равен true, декодирование объектов разрешено. Внутренне это использует тот же механизм декодирования, что и метод ReckfellApi.BytesToVar. Предупреждение: Десериализованные объекты могут содержать код, который выполняется. Не используйте эту опцию, если сериализованный объект поступает из ненадежных источников, чтобы избежать потенциальных угроз безопасности, таких как удаленное выполнение кода.

Параметры
ИмяТипПо умолчанию
allowObjectsboolfalse
Возвращает Variant
PutPacket2 перегрузки
# PutPacket · 1/2
C#
public Error PutPacket(byte[] buffer);

Отправляет необработанный пакет.

Параметры
ИмяТипПо умолчанию
bufferbyte[]—
Возвращает Error
# PutPacket · 2/2
C#
public Error PutPacket(ReadOnlySpan<byte> buffer);

Отправляет необработанный пакет.

Параметры
ИмяТипПо умолчанию
bufferReadOnlySpan<byte>—
Возвращает Error
PutVarError
# PutVar
C#
public Error PutVar(Variant var, bool fullObjects = false);

Отправляет Variant как пакет. Если full_objects равен true, кодирование объектов разрешено (и потенциально может включать код). Внутри это использует тот же механизм кодирования, что и метод ReckfellApi.VarToBytes.

Параметры
ИмяТипПо умолчанию
varVariant—
fullObjectsboolfalse
Возвращает Error
SetEncodeBufferMaxSizevoid
# SetEncodeBufferMaxSize
C#
public void SetEncodeBufferMaxSize(int maxSize);
Параметры
ИмяТипПо умолчанию
maxSizeint—
Документация Reckfell EngineНаверх ↑
БЫСТРЫЙ ПЕРЕХОДНачало работыEntity и иерархияC# & .NET 10Сцены и префабы
Руководства и полный API Reckfell K
reckfellENGINE
RECKFELL ACCOUNT

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

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

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