1

セキュリティ カメラから画像ストリームをダウンロードするアプリケーションがあります (カメラごとに 1 つのスレッド)。カメラに get リクエストを発行すると、カメラは jpg 画像のエンドレス ストリームを送信して応答します。

カメラがプログラムにデータを送信する速度が、プログラムがデータを処理できる速度を超えている場合、アプリケーションはどのように動作しますか? 現在、コンピューターの使用済みメモリが 95% まで上昇し、その後はそこにとどまっていることに気付きましたが、この使用済みメモリは特定のプロセスに関連付けられていません。これは、ソケット バッファが特定のポイントまで継続的に拡張し、それ以上拡張できなくなったときにパケットをドロップし始めるためですか?

それが重要な場合、私は.Netソケットを使用しています。

4

1 に答える 1

3

「ストリーム」がTCPを意味する場合、カーネル内ソケットの受信バッファがいっぱいになり、OSネットワークスタックがTCPフロー制御を適用して送信者の速度を低下させます。

一方、UDP を使用している場合は、ある時点でレシーバーがパケットをドロップし始めます。アプリケーション レベルのプロトコルで何らかの順序付けを行っていない限り、それについてはわかりません。

于 2012-11-19T14:11:12.060 に答える