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); } }
public MhfLogPacket(string clientIdentity, MhfPacket packet, MhfLogType logType) : base(packet.Header, packet.Data.Clone()) { LogType = logType; TimeStamp = DateTime.Now; ClientIdentity = clientIdentity; }
public void LogOutgoingPacket(MhfClient client, MhfPacket packet) { if (_setting.LogOutgoingPackets) { MhfLogPacket logPacket = new MhfLogPacket(client.Identity, packet, MhfLogType.PacketOut); WritePacket(logPacket); } }
public void LogUnknownIncomingPacket(MhfClient client, MhfPacket packet) { if (_setting.LogUnknownIncomingPackets) { MhfLogPacket logPacket = new MhfLogPacket(client.Identity, packet, MhfLogType.PacketUnhandled); WritePacket(logPacket); } }
public override void Handle(MhfConnection connection, MhfPacket packet) { string keySign = packet.Data.ReadCString(); string userId = packet.Data.ReadCString(); string sessionKey = packet.Data.ReadCString(); Logger.Info($"Auth Request: KeySign:{keySign} UserId:{userId} SessionKey:{sessionKey}"); MsgHeadResponse response = new MsgHeadResponse(); Router.Send(response, connection); }
public void Send(MhfPacket packet) { byte[] data; try { data = PacketFactory.Write(packet); } catch (Exception ex) { _logger.Exception(this, ex); return; } // _logger.LogOutgoingPacket(this, packet); Socket.Send(data); }
public void LogOutgoingPacket(MhfConnection connection, MhfPacket packet) { MhfClient client = connection.Client; if (client != null) { LogOutgoingPacket(client, packet); return; } if (!_setting.LogIncomingPackets) { return; } MhfLogPacket logPacket = new MhfLogPacket(connection.Identity, packet, MhfLogType.PacketOut); WritePacket(logPacket); }
public void Send(MhfPacket packet) { Connection.Send(packet); }