reckfellENGINE

MultiplayerPeer

Абстрактный класс для специализированных PacketPeer-ов, используемых MultiplayerAPI.

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

Абстрактный класс для специализированных PacketPeer-ов, используемых MultiplayerApi.

Регулирует связь с одним или несколькими удаленными коллегами, выступающими в качестве сервера или клиента, и присваивает каждому из них уникальные идентификационные данные. MultiplayerApi. Примечание: :: MultiplayerApi протокол - это деталь реализации, и он не предназначен для использования серверами, не относящимися к Reckfell. Он может измениться без уведомления. Примечание: При экспорте в Андроид убедитесь, что вы можете INTERNET В противном случае любая связь будет заблокирована Android.

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

Свойства3

RefuseNewConnectionsСвойство
# RefuseNewConnections
C#
public bool RefuseNewConnections { get; set; }

Если true, этот MultiplayerPeer отклоняет новые подключения.

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

Канал, используемый для отправки пакетов. Многие сетевые API, такие как ENet и WebRTC, позволяют создавать несколько независимых каналов, которые ведут себя, в некотором роде, как отдельные соединения. Это означает, что надежные данные будут блокировать только доставку других пакетов по этому каналу, а упорядочивание будет осуществляться только в отношении канала, по которому отправляется пакет. Использование разных каналов для отправки различных и независимых обновлений состояния является распространенным способом оптимизации использования сети и уменьшения задержки в динамичных играх. Примечание: Канал по умолчанию (0) фактически работает как 3 отдельных канала (по одному для каждого MultiplayerPeer.TransferModeEnum), так что MultiplayerPeer.TransferModeEnum.Reliable и MultiplayerPeer.TransferModeEnum.UnreliableOrdered по умолчанию не взаимодействуют друг с другом. Обратитесь к документации конкретного сетевого API (например, ENet или WebRTC), чтобы узнать, как правильно настроить каналы.

TransferModeСвойство
# TransferMode
C#
public MultiplayerPeer.TransferModeEnum TransferMode { get; set; }

Способ отправки пакетов целевому пиру. См. метод MultiplayerPeer.SetTargetPeer.

Методы17

Closevoid
# Close
C#
public void Close();

Немедленно закрыть многопользовательский пир, вернувшись в состояние MultiplayerPeer.ConnectionStatus.Disconnected. Подключенные пиры будут отключены без передачи MultiplayerPeer.PeerDisconnected.

DisconnectPeervoid
# DisconnectPeer
C#
public void DisconnectPeer(int peer, bool force = false);

Отключает указанный peer от этого хоста. Если force равен true, то сигнал MultiplayerPeer.PeerDisconnected не будет отправлен для этого пира.

Параметры
ИмяТипПо умолчанию
peerint—
forceboolfalse
GenerateUniqueIduint
# GenerateUniqueId
C#
public uint GenerateUniqueId();

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

Возвращает uint
GetConnectionStatusMultiplayerPeer.ConnectionStatus
# GetConnectionStatus
C#
public MultiplayerPeer.ConnectionStatus GetConnectionStatus();

Возвращает текущее состояние соединения.

Возвращает MultiplayerPeer.ConnectionStatus
GetPacketChannelint
# GetPacketChannel
C#
public int GetPacketChannel();

Возвращает канал, по которому был получен следующий доступный пакет. См. PacketPeer.GetAvailablePacketCount.

Возвращает int
GetPacketModeMultiplayerPeer.TransferModeEnum
# GetPacketMode
C#
public MultiplayerPeer.TransferModeEnum GetPacketMode();

Возвращает режим передачи, который удаленный узел использовал для отправки следующего доступного пакета. См. PacketPeer.GetAvailablePacketCount.

Возвращает MultiplayerPeer.TransferModeEnum
GetPacketPeerint
# GetPacketPeer
C#
public int GetPacketPeer();

Возвращает идентификатор MultiplayerPeer, отправившего следующий доступный пакет. См. PacketPeer.GetAvailablePacketCount.

Возвращает int
GetTransferChannelint
# GetTransferChannel
C#
public int GetTransferChannel();
Возвращает int
GetTransferModeMultiplayerPeer.TransferModeEnum
# GetTransferMode
C#
public MultiplayerPeer.TransferModeEnum GetTransferMode();
Возвращает MultiplayerPeer.TransferModeEnum
GetUniqueIdint
# GetUniqueId
C#
public int GetUniqueId();

Возвращает идентификатор этого MultiplayerPeer.

Возвращает int
IsRefusingNewConnectionsbool
# IsRefusingNewConnections
C#
public bool IsRefusingNewConnections();
Возвращает bool
IsServerRelaySupportedbool
# IsServerRelaySupported
C#
public bool IsServerRelaySupported();

Возвращает true, если сервер может действовать как ретранслятор в текущей конфигурации. То есть, если более высокий уровень MultiplayerApi должен уведомлять подключенных клиентов о других пирах и реализовывать протокол ретрансляции, чтобы разрешить связь между ними.

Возвращает bool
Pollvoid
# Poll
C#
public void Poll();

Ожидает до 1 секунды для получения нового сетевого события.

SetRefuseNewConnectionsvoid
# SetRefuseNewConnections
C#
public void SetRefuseNewConnections(bool enable);
Параметры
ИмяТипПо умолчанию
enablebool—
SetTargetPeervoid
# SetTargetPeer
C#
public void SetTargetPeer(int id);

Устанавливает пир, которому будут отправляться пакеты. id может быть одним из: MultiplayerPeer.TargetPeerBroadcast для отправки всем подключенным пирам, MultiplayerPeer.TargetPeerServer для отправки пиру, выступающему в качестве сервера, допустимый идентификатор пира для отправки этому конкретному пиру, отрицательный идентификатор пира для отправки всем пирам, кроме этого. По умолчанию целевой пир — MultiplayerPeer.TargetPeerBroadcast.

Параметры
ИмяТипПо умолчанию
idint—
SetTransferChannelvoid
# SetTransferChannel
C#
public void SetTransferChannel(int channel);
Параметры
ИмяТипПо умолчанию
channelint—
SetTransferModevoid
# SetTransferMode
C#
public void SetTransferMode(MultiplayerPeer.TransferModeEnum mode);
Параметры
ИмяТипПо умолчанию
modeMultiplayerPeer.TransferModeEnum—

Сигналы и события2

PeerConnectedСобытие
# PeerConnected
C#
public event MultiplayerPeer.PeerConnectedEventHandler PeerConnected;

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

Параметры обработчика
ИмяТипПо умолчанию
idlong—
PeerDisconnectedСобытие
# PeerDisconnected
C#
public event MultiplayerPeer.PeerDisconnectedEventHandler PeerDisconnected;

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

Параметры обработчика
ИмяТипПо умолчанию
idlong—

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

TargetPeerBroadcastПоле
# TargetPeerBroadcast
C#
public const long TargetPeerBroadcast = 0;

Пакеты отправляются всем подключенным одноранговым узлам.

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

Пакеты отправляются удаленному узлу, выступающему в роли сервера.

MultiplayerPeer.ConnectionStatus

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

Этот MultiplayerPeer подключен.

Connecting = 1

В данный момент MultiplayerPeer подключается к серверу.

Disconnected = 0

MultiplayerPeer отключен.

MultiplayerPeer.TransferModeEnum

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

Пакеты должны быть получены, и должны быть предприняты попытки повторной отправки, пока пакеты не будут подтверждены. Пакеты должны быть получены в том порядке, в котором они были отправлены. Самый надежный режим передачи, но потенциально самый медленный из-за накладных расходов. Используйте для критических данных, которые должны быть переданы и получены в определенном порядке, например, срабатывание способности или сообщение в чате. Тщательно обдумайте, действительно ли информация является критически важной, и используйте ее экономно.

Unreliable = 0

Пакеты не подтверждаются, повторной отправки потерянных пакетов не производится. Пакеты могут прибывать в любом порядке. Потенциально быстрее, чем MultiplayerPeer.TransferModeEnum.UnreliableOrdered. Используйте для некритических данных и всегда учитывайте, имеет ли значение порядок.

Перевод_MODE_ НЕЗАВИСИМЫЙ

UnreliableOrdered = 1

Пакеты не подтверждаются, повторные попытки отправки потерянных пакетов не предпринимаются. Пакеты принимаются в том порядке, в котором они были отправлены. Потенциально быстрее, чем MultiplayerPeer.TransferModeEnum.Reliable. Используйте для некритических данных или данных, которые могут устареть, если будут получены с опозданием из-за попытки(й) повторной отправки, например, данные о движении и местоположении.

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

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

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

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