これは自分の勘違いかもしれませんが、一応書いてみます。 再送処理についてですが、送信側と受信側でタイミングが少しずれた場合に、同じパケットの再送が繰り返され転送速度がかなり落ち込むことが頻発します(数バイト/秒)。送信側が再送要求を取りこぼしているような感じがします。 そこで、以下のように再送処理の効率化を提案させてください。簡単に言うと「ひとの話は最後まで聞こう」です。 CRC不一致の場合、そのパケット番号を再送要求リストに追加して受信処理を継続。 受信処理が終わったら、再送要求リストが空になるまで、パケット単位に再送要求して、成功したら再送要求リストから削除。