コード例 #1
0
        private byte[][] PreparePackets(byte[] data)
        {
            float packetsFloat  = data.Length / (float)Buffer;
            int   packetsNumber = 0;

            if (NumbersHelper.IsFloat(packetsFloat))
            {
                packetsNumber = (int)packetsFloat + 1;
            }
            else
            {
                packetsNumber = (int)packetsFloat;
            }
            Console.WriteLine("Packets needed: " + packetsNumber);
            byte[][] packets = new byte[packetsNumber][];

            if (data.Length < Buffer)
            {
                packets[0] = data;
                return(packets);
            }
            else
            {
                int dataPos = 0;
                for (int i = 0; i < packets.Length; i++)
                {
                    int    remaningBytes = data.Length - dataPos;
                    byte[] packet;
                    if (remaningBytes < Buffer)
                    {
                        packet = new byte[remaningBytes];
                    }
                    else
                    {
                        packet = new byte[Buffer];
                    }

                    Console.WriteLine("Building packet n." + i + "------------------------------");
                    //BUILD PACKET
                    for (int j = 0; j < Buffer; j++)
                    {
                        if (dataPos < data.Length)
                        {
                            Console.WriteLine("Cell: " + j + " - " + dataPos);
                            packet[j] = data[dataPos];
                            dataPos++;
                        }
                        else
                        {
                            Console.WriteLine("FINISHED");
                            break;
                        }
                    }

                    packets[i] = packet;
                }

                return(packets);
            }
        }
コード例 #2
0
 private void FillRandomPacket(byte[] packet)
 {
     for (int i = 0; i < packet.Length; i++)
     {
         packet[i] = (byte)NumbersHelper.GenerateNumber(0, 100);
     }
 }