示例#1
0
        public void SendPacket(byte[] blob)
        {
            var typeA  = blob[4];
            var typeB  = blob[5];
            var flags1 = blob[6];
            var flags2 = blob[7];

            Logger.Write("[<--] Packet {0:X}-{1:X} (flags {2}) ({3} bytes)", typeA, typeB, (PacketFlags)flags1,
                         blob.Length);
            LogPacket(false, typeA, typeB, flags1, flags2, blob);

            if (Logger.VerbosePackets)
            {
                var info = string.Format("[<--] {0:X}-{1:X} Data:", typeA, typeB);
                Logger.WriteHex(info, blob);
            }

            if (OutputArc4 != null)
            {
                OutputArc4.TransformBlock(blob, 0, blob.Length, blob, 0);
            }

            try
            {
                Socket.Write(blob);
            }
            catch (Exception ex)
            {
                Logger.WriteException("Error sending packet", ex);
            }
        }
示例#2
0
        public void SendPacket(byte[] blob, string name = null)
        {
            var    typeA  = blob[4];
            var    typeB  = blob[5];
            var    flags1 = blob[6];
            var    flags2 = blob[7];
            string sendName;

            if (name != null)
            {
                sendName = $"{name} ({typeA:X}-{typeB:X})";
            }
            else
            {
                sendName = $"{typeA:X}-{typeB:X}";
            }

            Logger.Write($"[<--] Packet {sendName} (flags {(PacketFlags)flags1}) ({blob.Length} bytes)");
            LogPacket(false, typeA, typeB, flags1, flags2, blob);

            if (Logger.VerbosePackets)
            {
                var info = string.Format("[<--] {0:X}-{1:X} Data:", typeA, typeB);
                Logger.WriteHex(info, blob);
            }

            if (OutputArc4 != null)
            {
                OutputArc4.TransformBlock(blob, 0, blob.Length, blob, 0);
            }

            try
            {
                Socket.Write(blob);
            }
            catch (Exception ex)
            {
                Logger.WriteException("Error sending packet", ex);
            }
        }