public void ClientSent(byte[] data, int offset) { // Console.Out.WriteLine($"KeepAliveHandler.ClientSent: {Utility.ByteArrayToHexString(data, offset)}."); Packets.NaiveParsePacket <FFXIVKeepAliveData>(data, offset, out var pkt); // Console.Out.WriteLine($"KeepAliveHandler.ClientSent: ID={pkt.Id}, Timestamp={pkt.Timestamp}."); OnClientSent?.Invoke(pkt); _currentId = pkt.Id; _lastKeepAliveSent = DateTime.UtcNow; }
public void ClientSent(byte[] data, int offset) { // Console.Out.WriteLine($"IPCHandler.ClientSent: {Utility.ByteArrayToHexString(data, offset)}."); var headerLen = Packets.ParseIPCHeader(data, offset, out var pkt); // Console.Out.WriteLine($"FFXIVIpcHeader.Type = 0x{pkt.Type:X4}."); OnClientSent?.Invoke(pkt, data, offset + headerLen); if (pkt.Type == PingOpCode.Client) { HandleClientPing(data, offset + headerLen); } }