18

UDP を使用してインターネット経由でビデオを他の IP に送信するネイティブ ライブラリを使用する C# アプリケーションがあります。そのライブラリのトラフィックを制御できません。

私のアプリケーションは、私がそれらを制御できることを使用して、別のサーバーの Web サービスも呼び出しますWebRequest

問題は:

インターネット帯域幅が狭い場合、ビデオ ストリームがすべての帯域幅を使用します。そのため、その間、Web サービス メソッドからの応答を取得できません。

WebRequest応答を安全に取得できるように、優先順位を付けたり、帯域幅を節約したりする方法はありますか?

4

2 に答える 2

6

この方法でトラフィックに優先順位を付けることができる C# の方法を知りません。

これはスタック オーバーフローのような回答ではないことは承知していますが、適切なネットワーク インフラストラクチャへのアクセスがない場合に、私の環境で帯域幅を犠牲にせずにストリーミング サービスを処理した方法は、これが「適切な」方法です。

使用する方法について結論を出すときは、 https://superuser.comを参照することをお勧めします。 これにより、ソリューションを実装する際に発生する障害に答えることができるはずです。

ソリューション 1。

2 つのサービスに分割し、各サービスまたはデータベース ポーリングで REST API を介して通信します。次に、ネットワーク制限プログラムを使用して、いずれかのサービスのトラフィックに優先順位を付けます。 https://www.netlimiter.com/https://netbalancer.com/は、これを実行できるソフトウェアの例ですが、他にもたくさんあります。

利点: ストリーミング サービスを動的に調整できます。

欠点: サーバー上で別のプログラムを実行する必要があり、それは間違いなく無料ではありません。

ソリューション 2。

IIS を使用します。IIS https://www.iis.net/configreference/system.applicationhost/weblimitsには組み込みのスロットルがあり 、maxGlobalBandWidth を確認してください。次に、REST またはデータベース ポーリングを介して通信する 2 つの Web サイトがあります。利点: すぐに使えるシンプルなソリューション。

欠点: 制限は動的ではなく、構成ファイルにあります。

インターネットのネットワーク速度が大きく異なる場合は、この方法を使用しないでください。

于 2017-05-03T07:51:20.750 に答える