Ejemplo n.º 1
0
        private void HandleReceived_Client(MhfClient client, MhfPacket packet)
        {
            if (!_clientHandlers.ContainsKey(packet.Id))
            {
                //_logger.LogUnknownIncomingPacket(client, packet);
                return;
            }

            IClientHandler clientHandler = _clientHandlers[packet.Id];

            if (clientHandler.ExpectedSize != NoExpectedSize && packet.Data.Size < clientHandler.ExpectedSize)
            {
                _logger.Error(client,
                              $"Ignoring Packed (Id:{packet.Id}) is smaller ({packet.Data.Size}) than expected ({clientHandler.ExpectedSize})");
                return;
            }

            //  _logger.LogIncomingPacket(client, packet);
            packet.Data.SetPositionStart();
            try
            {
                clientHandler.Handle(client, packet);
            }
            catch (Exception ex)
            {
                _logger.Exception(client, ex);
            }
        }
Ejemplo n.º 2
0
        private void HandleReceived_Client(NecClient client, NecPacket packet)
        {
            if (!_clientHandlers.ContainsKey(packet.id))
            {
                _Logger.LogUnknownIncomingPacket(client, packet, _serverType);
                return;
            }

            IClientHandler clientHandler = _clientHandlers[packet.id];

            if (clientHandler.expectedSize != NO_EXPECTED_SIZE && packet.data.Size < clientHandler.expectedSize)
            {
                _Logger.Error(client,
                              $"[{_serverType}] Ignoring Packed (Id:{packet.id}) is smaller ({packet.data.Size}) than expected ({clientHandler.expectedSize})");
                return;
            }

            _Logger.LogIncomingPacket(client, packet, _serverType);
            packet.data.SetPositionStart();
            try
            {
                clientHandler.Handle(client, packet);
            }
            catch (Exception ex)
            {
                _Logger.Exception(client, ex);
            }
        }