Exemplo n.º 1
0
        public List <TailPacketRs> LoadTailBinaryFile(String tailBinFileName)
        {
            TailParser          tailParser = new TailParser();
            List <TailPacketRs> packetList = new List <TailPacketRs>();

            if (!File.Exists(tailBinFileName))
            {
                return(packetList);
            }
            using (FileStream fileStream = File.Open(tailBinFileName, FileMode.Open))
            {
                BinaryReader binaryReader = new BinaryReader(fileStream);
                while (binaryReader.BaseStream.Position <= binaryReader.BaseStream.Length - 1)
                {
                    byte[]          headerBytes = binaryReader.ReadBytes(Marshal.SizeOf(typeof(EnvPacketHeader)));
                    EnvPacketHeader header      = Tool.ByteToStruct <EnvPacketHeader>(headerBytes, 0, headerBytes.Length);
                    if (header.syncHeader.EqualBytes(EnvProtocol.SyncHeader) && header.dataType == (byte)EnvProtocol.DataType.DataTypeTail)
                    {
                        byte[] buffer = binaryReader.ReadBytes(Marshal.SizeOf(typeof(TailPacketUdp)));
                        packetList.AddRange(tailParser.Parse(buffer));
                    }
                }
            }
            return(packetList);
        }
Exemplo n.º 2
0
        public List <FastPacket> LoadFastBinaryFile(String fastBinFileName)
        {
            List <FastPacket> packetList = new List <FastPacket>();

            if (!File.Exists(fastBinFileName))
            {
                return(packetList);
            }
            using (FileStream fileStream = File.Open(fastBinFileName, FileMode.Open))
            {
                BinaryReader binaryReader = new BinaryReader(fileStream);
                while (binaryReader.BaseStream.Position <= binaryReader.BaseStream.Length - 1)
                {
                    byte[]          headerBytes = binaryReader.ReadBytes(Marshal.SizeOf(typeof(EnvPacketHeader)));
                    EnvPacketHeader header      = Tool.ByteToStruct <EnvPacketHeader>(headerBytes, 0, headerBytes.Length);
                    if (header.syncHeader.EqualBytes(EnvProtocol.SyncHeader) && header.dataType == (byte)EnvProtocol.DataType.DataTypeFast)
                    {
                        byte[]     buffer = binaryReader.ReadBytes(Marshal.SizeOf(typeof(FastPacket)));
                        FastPacket packet;
                        if (FastParser.Parse(buffer, out packet))
                        {
                            packetList.Add(packet);
                        }
                    }
                }
            }
            return(packetList);
        }