• 締切済み

シリアル受信の取りこぼし

C++で作成したシリアルの受信処理について 1.受信イベントを検知 2.ReadFileでデータ読み取り 3.データ解析 の動作をスレッドの中で行うようにしているのですが 大量のデータを受け取る時に、データの取りこぼしが発生します。 取りこぼしを防ぐ処理方法や設定などはないでしょうか

みんなの回答

  • wormhole
  • ベストアンサー率28% (1626/5665)
回答No.2

2と3を同一スレッドで行ってるのならスレッドを分けましょう。 後は、処理が追いつかないときには送信側に待ってもらえる仕組みを用意するとか。

すると、全ての回答が全文表示されます。
回答No.1

>取りこぼしを防ぐ処理方法や設定などはないでしょうか 全てのケースについて有効な手段は有りません。 データの来るタイミング、データ長、重要度など様々なファクターで対応方が違ってきます。 一般的にはデータが来たらデータの取り込みに専念し解析は後回しにするのですが、大量のデータが来ればオーバーフローは防げません。 最終的にはプロトコールを決めるか諦めるより有りません。

すると、全ての回答が全文表示されます。

関連するQ&A