ファイル転送アプリケーション(大きなファイル)を持っていますが、拡張できるようにしたいと思います。非同期コールバックを使用して、16Kbのチャンクでメッセージを読み取ります。メッセージを受信するたびに、それを「解読」して処理するクラスに送信します。使用される形式は単純です:(int)Command->(int)MsgLen->(String)Msg。
これはほんの一例です。私が抱えている問題は、複数の読み取りを実行したい場合、これを処理するための最良の方法は何ですか?1回の読み取りに複数のコマンドがある場合はどうなりますか?たとえば、私は終わりに近づき、完全な4バイトではなく、コマンドに2バイトしかありませんか?
キューについて考えましたが、バイトを抽出して変換するのは面倒です。より良いオプションはありますか?