SyncHub Docs
Doctype
Doctype
  • Добро пожаловать в SyncHub
  • Установка
  • Руководство по первому запуску SyncHub
  • CommandHandler
  • Отправка сообщения
    • SendTo
    • TransportHeader
  • Приём сообщения
  • Методы
    • DataPacket
    • Logger
    • MainThread
    • NetClient
    • NetId
    • NetTransform
    • NetVector3
    • Serializer
    • Transport
Powered by GitBook
On this page
  • Отправка сообщения
  • Пример отправки сообщения
  • Пояснения

Was this helpful?

Отправка сообщения

Отправка сообщения

Отправка сообщения является важным этапом взаимодействия между клиентом и сервером. В данном примере мы рассмотрим процесс отправки сообщения с использованием метода SendTo, который принимает пакет данных для отправки.

Пример отправки сообщения

Первый вариант:

await new TransportHeader((byte)OperationCode.Connect, SendClientFlag.All)
    .SendTo(new Dictionary<byte, object>
    {
        [(byte)ParameterCode.Message] = "Connection"
    });

Этот вариант более компактный и использует цепочку вызовов (method chaining). Он создает новый экземпляр TransportHeader прямо в вызове метода SendTo, что делает код более кратким.

Второй вариант:

using (TransportHeader header = new TransportHeader((byte)OperationCode.Connect, SendClientFlag.All))
{
    await header.SendTo(new Dictionary<byte, object>
    {
        [(byte)ParameterCode.Message] = "Connection"
    });
}

Этот вариант использует конструкцию using, что гарантирует, что объект TransportHeader будет правильно освобожден после использования благодаря вызову Dispose(). Также этот вариант может быть более явным и понятным для разработчиков, особенно если есть дополнительные действия, которые нужно выполнить с header перед отправкой сообщения.

Пояснения

  • TransportHeader: Объект, представляющий заголовок транспортного сообщения. Здесь он инициализируется с использованием значения OperationCode.Connect и SendClientFlag.All

  • SendTo: Метод, отправляющий пакет данных на сервер. Он принимает в качестве аргументов объект клиента (Client) и объект типа DataPacket, содержащий данные для отправки.

  • DataPacket: Объект, представляющий пакет данных для отправки. Здесь он содержит заголовок и коллекцию данных, где каждый элемент представляет собой параметр и его значение.

  • Dictionary<byte, object>: Коллекция данных, содержащая параметры и их значения для отправки. В данном примере параметры Id и Name передаются с соответствующими значениями.

Этот пример демонстрирует основные шаги отправки сообщения и может быть адаптирован для конкретных сценариев в вашем проекте.

PreviousCommandHandlerNextSendTo

Last updated 1 year ago

Was this helpful?