UDP 経由で 20 個のカスタム ハードウェア ボックスからデータを受信する PC プログラムがあります。これらの各ボックスは、PC 上の単一の UDP ソケットに UDP メッセージを継続的に送信します。メッセージにはすべて 10 ~ 150 バイトのデータが含まれており、各ユニットは 12 秒で約 20 個のメッセージを送信します。
テストでは、一部のメッセージが PC によって見落とされていることが示されています。ネットワーク上のボックスが少ないほど、メッセージの見逃しが少なくなります。
長期的な解決策は、データをハードウェアにバッファリングし、必要に応じて PC が TCP 経由でデータを取得できるようにすることですが、その解決策が展開されるまで、メッセージの欠落の問題を短期的に解決/最小化する必要があります。- PC をアップグレードする - 送信前に不要なメッセージを除外する - ハードウェア内の個別の UDP メッセージを 1 つの大きなメッセージに結合する - PC 内の複数のソケットを使用してメッセージを受信する
これらのアイデアに関するフィードバックと、見逃した可能性のあるものを探しています。
受信プログラムは、Indy9 を実行する C++Builder プログラムです。