Exemplo n.º 1
0
        private void ReadBody(NetworkStream stream, FPData peek)
        {
            int diff = peek.GetPkgLen() - peek.Bytes.Length;

            if (diff <= 0)
            {
                this.BuildBody(stream, peek, null);
                return;
            }

            int rlen = 0;

            byte[] buffer = new byte[diff];
            this.ReadBytes(stream, peek, buffer, rlen, BuildBody);
        }
Exemplo n.º 2
0
        private FPData CryptoPeekHead(byte[] bytes)
        {
            if (bytes != null && bytes.Length >= 4)
            {
                FPData data = new FPData();
                data.SetPkgLen((int)BitConverter.ToUInt32(this._pkg.GetByteArrayRange(bytes, 0, 3), 0));
                data.Bytes = this._pkg.GetByteArrayRange(bytes, 4, bytes.Length - 1);

                if (data.GetPkgLen() > 8 * 1024 * 1024)
                {
                    return(null);
                }

                return(data);
            }

            return(null);
        }