This happens in TCP/IP.. the packets may be broken up.
If you use Byte or Binary Mode for input then you must have logic in your code to take care of split packets..; in Byte mode there is no request separator that would be configured in QuickServer.. so the server will pass the data as they arrive over network.
one possible way:
If you have not got all the data (this can happen.. since tcp can break up packets).. you save what you have got into ClientData and return and wait for next packet. Then add it to the existing data in ClientData and then process. Check XmlAdder example to see how this could be done..