私は、PCに接続された専用LANセグメントに多数のデバイス(IPカメラ)を持っています。デバイスは、HTTPプロトコルを使用して個々のJPEGフレーム転送をサポートします。 可能な限り、すべてのデバイスに同時にHTTPリクエストを送信する必要があります。画像を取得するのに異なる時間がかかることがありますが、違いはありません。現代の中間レベルのCPUでの最初と最後の要求の間には、数ミリ秒の時間がかかります。 (私は非リアルタイムシステムを使用していることを知っています)。.NETネットワーキングライブラリを使用した複数の同時HTTPリクエスト
デバイスのピークデータ転送速度は約50Mbpsで、LANセグメントへのPC接続は1000Mbpsです。デバイスの数は約10です。 HTTP要求の典型的なサイズは約150バイトであり、応答は40.2.200KBです。
WebClient
クラスのDownloadDataAsync
メソッドを使用します。すべてのデバイスに対して1つのインスタンスが使用されます。しかし、より効率的な方法がありますか?
より効率的にはどういう意味ですか? 'DownloadDataAsync'はあなたの必要性を満たしていませんか? –
たとえば、 'HttpWebRequest'を使用すると、リクエスト - レスポンス全体に対して時間がかかりません(約10%)。また、いくつかの 'WebClient'動作は、Internet Explorerの設定に依存します。しかし、最も重要なことは、複数のリクエスト間の最小遅延です。 – apdevelop