- 127 名前:デフォルトの名無しさん mailto:sage [2008/04/23(水) 16:09:50 ]
- >>123
俺の長い組み込み経験からのアドバイス。 1.レイヤを定める。下位レイヤは上位レイヤのデータ 構造を知らなくてもやり取り出来るようにする。バイ ナリ←→プログラムデータの変換部分との間にユーティ リティ的なレイヤがあると便利。 2.最初に「バイト長」とか入れない。これをやられる と送信側でデータが揃わないと送出開始出来なくなる。 仕事でこういうプロトコル決めてる奴を見ると殺意が 芽生える。 3.1や2を実現するために、たとえバイナリでもエス ケープ文字を用意する。俺が良く使うのは SLIP のエ スケープ(昔仕事で使ったから)。下位レイヤでデー タやコマンドの開始/終了などを用意する。読む側の 下位レイヤで「開始」が来たら読んでる途中のものを 全部破棄して例外を投げるように(初期状態 read で catch するように)すると、通信相手のバグその他で 変な状態に陥っても元に戻ることが保証出来る。
|

|