コンソールでバイナリデータを送受信したいのですが
1.シンプルにコマンド+データサイズ→バイナリデータを送る
 →効率が良いけどデータが欠落した場合回復が困難
2.テキストにエンコードしたデータを送る
 →1より障害に強くなるけど送信する帯域も計算能力も多く消費する
3.数種類をコントロールコードに割り当てて被ったデータはエスケープする
 →1と2の中間くらい?
くらいしか思いつかないのですがこういう場合って普通どのような実装にするんですかね?
他に何かあれば・・・