reckfellENGINE

WebRtcMultiplayerPeer

Простой интерфейс для создания одноранговой ячеистой сети, состоящей из WebRTCPeerConnection, совместимой с MultiplayerAPI.

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

Простой интерфейс для создания одноранговой ячеистой сети, состоящей из WebRtcPeerConnection, совместимой с MultiplayerApi.

Этот класс строит полный сет. WebRtcPeerConnection (одно соединение для каждого сверстника), которое может быть использовано в качестве MultiplayerApi.MultiplayerPeer. Вы можете добавить каждый WebRtcPeerConnection через WebRtcMultiplayerPeer.AddPeer или удалить их через WebRtcMultiplayerPeer.RemovePeer. Сверстники должны быть добавлены в WebRtcPeerConnection.ConnectionState.New Этот класс не будет создавать оферты или настраивать описания, он будет осматривать только их и уведомлять о связях и разъединении. При создании сверстника через WebRtcMultiplayerPeer.CreateClient или WebRtcMultiplayerPeer.CreateServer :: MultiplayerPeer.IsServerRelaySupported метод возврата true :: создание возможностей для взаимного обмена и ретрансляции пакетов при поддержке MultiplayerApi :: осуществление. Примечание: При экспорте в Андроид убедитесь, что вы можете INTERNET В противном случае любая связь будет заблокирована Android.

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

Конструкторы1

WebRtcMultiplayerPeerКонструктор
# WebRtcMultiplayerPeer
C#
public WebRtcMultiplayerPeer();

Методы8

AddPeerError
# AddPeer
C#
public Error AddPeer(WebRtcPeerConnection peer, int peerId, int unreliableLifetime = 1);

Добавьте нового пира в сетку с заданным peer_id. WebRtcPeerConnection должен находиться в состоянии WebRtcPeerConnection.ConnectionState.New. Будут созданы три канала для надежного, ненадежного и упорядоченного транспорта. Значение unreliable_lifetime будет передано в параметр "maxPacketLifetime" при создании ненадежных и упорядоченных каналов (см. WebRtcPeerConnection.CreateDataChannel).

Параметры
ИмяТипПо умолчанию
peerWebRtcPeerConnection—
peerIdint—
unreliableLifetimeint1
Возвращает Error
CreateClientError
# CreateClient
C#
public Error CreateClient(int peerId, Reckfell.Collections.Array channelsConfig = null);

Инициализируйте многопользовательский одноранговый узел как клиент с заданным peer_id (должен быть между 2 и 2147483647). В этом режиме вам следует вызывать WebRtcMultiplayerPeer.AddPeer только один раз и с peer_id из 1. Этот режим включает MultiplayerPeer.IsServerRelaySupported, позволяя верхнему слою MultiplayerApi выполнять обмен одноранговыми узлами и ретрансляцию пакетов. Вы можете дополнительно указать массив channels_config MultiplayerPeer.TransferModeEnum, который будет использоваться для создания дополнительных каналов (WebRTC поддерживает только один режим передачи на канал).

Параметры
ИмяТипПо умолчанию
peerIdint—
channelsConfigReckfell.Collections.Arraynull
Возвращает Error
CreateMeshError
# CreateMesh
C#
public Error CreateMesh(int peerId, Reckfell.Collections.Array channelsConfig = null);

Инициализируйте многопользовательский узел как сетку (т. е. все узлы подключаются друг к другу) с заданным peer_id (должен быть в диапазоне от 1 до 2147483647).

Параметры
ИмяТипПо умолчанию
peerIdint—
channelsConfigReckfell.Collections.Arraynull
Возвращает Error
CreateServerError
# CreateServer
C#
public Error CreateServer(Reckfell.Collections.Array channelsConfig = null);

Инициализируйте многопользовательский одноранговый узел как сервер (с уникальным идентификатором 1). Этот режим включает MultiplayerPeer.IsServerRelaySupported, позволяя верхнему слою MultiplayerApi выполнять обмен одноранговыми узлами и ретрансляцию пакетов. Вы можете дополнительно указать массив channels_config MultiplayerPeer.TransferModeEnum, который будет использоваться для создания дополнительных каналов (WebRTC поддерживает только один режим передачи на канал).

Параметры
ИмяТипПо умолчанию
channelsConfigReckfell.Collections.Arraynull
Возвращает Error
GetPeerReckfell.Collections.Dictionary
# GetPeer
C#
public Reckfell.Collections.Dictionary GetPeer(int peerId);

Возвращает словарное представление однорангового узла с заданным peer_id с тремя ключами. "connection" содержит WebRtcPeerConnection к этому одноранговому узлу, "channels" — массив из трех WebRtcDataChannel и "connected" — логическое значение, указывающее, подключено ли в данный момент одноранговое соединение (все три канала открыты).

Параметры
ИмяТипПо умолчанию
peerIdint—
Возвращает Reckfell.Collections.Dictionary
GetPeersReckfell.Collections.Dictionary
# GetPeers
C#
public Reckfell.Collections.Dictionary GetPeers();

Возвращает словарь, ключами которого являются идентификаторы одноранговых узлов, а значениями — представление одноранговых узлов, как в WebRtcMultiplayerPeer.GetPeer.

Возвращает Reckfell.Collections.Dictionary
HasPeerbool
# HasPeer
C#
public bool HasPeer(int peerId);

Возвращает true, если указанный peer_id находится в карте пиров (хотя он может быть не подключен).

Параметры
ИмяТипПо умолчанию
peerIdint—
Возвращает bool
RemovePeervoid
# RemovePeer
C#
public void RemovePeer(int peerId);

Удалить пир с заданным peer_id из сетки. Если пир был подключен и для него был отправлен MultiplayerPeer.PeerConnected, то будет отправлен MultiplayerPeer.PeerDisconnected.

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

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

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

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