I am doing a synchronous read/write using boost-asio. The data is coming in binary format, without boundary, the length information is encoded in the packet
Simple:
boost::asio::read(socket, buffers, boost::asio::transfer_exactly(your_fixed_size));