これはTCPがバイナリを送れないとかいう激しい勘違いの結果?
エンディアンが同じなら、サイズとデータをそのまま渡せばいいだけの話だが。