Hello all,   I've seen discussions about how to properly receive binary packets through the network. I even had my share of mistakes with my first implementation so I decided to create a class to do the heavylifting: receiving data chunks and assembling the packets. Feel free to use, improve and build upon.   Keep in mind that 1, Packet is referred to the data sent by the client, not TCP packets! 2, The code is NOT thread safe! 3, Memory allocation is inefficient and can be improved. In my case (really low amount of packets) it's not an issue but the internal data storage easily can be replaced with a stream for example uBinaryPacket.pas