Combine() static private méthode

static private Combine ( Array arrays ) : byte[]
arrays Array
Résultat byte[]
Exemple #1
0
        private static async Task <byte[]> Receive(UdpClient client)
        {
            byte[] numArray;
            Func <byte[], bool> u003cu003e9_50;

            byte[][] numArray1;
            byte[][] numArray2 = null;
            byte     num       = 0;
            byte     num1      = 1;

            do
            {
                UdpReceiveResult udpReceiveResult = await client.ReceiveAsync();

                UdpReceiveResult udpReceiveResult1 = udpReceiveResult;
                udpReceiveResult = new UdpReceiveResult();
                byte[] buffer = udpReceiveResult1.Buffer;
                using (BinaryReader binaryReader = new BinaryReader(new MemoryStream(buffer)))
                {
                    int num2 = binaryReader.ReadInt32();
                    if (num2 != -1)
                    {
                        if (num2 != -2)
                        {
                            throw new Exception("Invalid Header");
                        }
                        binaryReader.ReadInt32();
                        num  = binaryReader.ReadByte();
                        num1 = binaryReader.ReadByte();
                        binaryReader.ReadInt32();
                        if (numArray2 == null)
                        {
                            numArray2 = new byte[num1][];
                        }
                        byte[] numArray3 = new Byte[checked ((IntPtr)((long)((int)buffer.Length) - binaryReader.BaseStream.Position))];
                        Buffer.BlockCopy(buffer, (int)binaryReader.BaseStream.Position, numArray3, 0, (int)numArray3.Length);
                        numArray2[num] = numArray3;
                        numArray3      = null;
                    }
                    else
                    {
                        byte[] numArray4 = new Byte[checked ((IntPtr)((long)((int)buffer.Length) - binaryReader.BaseStream.Position))];
                        Buffer.BlockCopy(buffer, (int)binaryReader.BaseStream.Position, numArray4, 0, (int)numArray4.Length);
                        numArray = numArray4;
                        return(numArray);
                    }
                }
                binaryReader      = null;
                udpReceiveResult1 = new UdpReceiveResult();
                buffer            = null;
                numArray1         = numArray2;
                u003cu003e9_50    = SourceServerQuery.< > c.< > 9__5_0;
                if (u003cu003e9_50 != null)
                {
                    continue;
                }
                u003cu003e9_50 = (byte[] p) => p == null;
                SourceServerQuery.< > c.< > 9__5_0 = u003cu003e9_50;
            }while (numArray1.Any <byte[]>(u003cu003e9_50));
            numArray = SourceServerQuery.Combine(numArray2);
            return(numArray);
        }