CommandHandler
Шаг 1: Подключение необходимых библиотек
using SyncHubServer.Back;
using SyncHubServer.Elements;
using SyncHubToolkit.Tools;
using SyncHubToolkit.Common;
using SyncHubToolkit.Extension;Шаг 2: Создание класса CommandHandler
CommandHandlerpublic class CommandHandler : CommandData, ICommandHandler
{
public async Task HandleCommand(NetClient client, byte[] data)
{
try
{
// Присвоение клиента
Client = client;
// Обновление времени последней активности клиента
Client.SetActive();
// Десериализация пакета данных
Packet = await Serializer.Unpack(data);
// Обработка команды в зависимости от OperationCode
switch ((OperationCode)Packet.Header.OperationCode)
{
case OperationCode.Unknown:
Logger.Log.Debug($"Unknown command received from {Client.Id}");
break;
// Добавьте дополнительные case для других OperationCode по мере необходимости
default:
break;
}
}
catch (IOException ex)
{
Logger.Log.Debug($"IOException occurred for player: {ex.Message}");
}
catch (Exception ex)
{
Logger.Log.Debug($"Error occurred for player Handler: {ex.Message}");
}
finally
{
Dispose();
}
}
}Last updated