2016-08-26 18 views
1

私のMac OS Xアプリケーションのデータレート(帯域幅スロットル)を削減したい。
私は既に- (void)connection:(NSURLConnection *)connection didReceiveData:(NSData *)data方法で寝るようにしていますが、それは私を助けません。
私はこの質問にもご注意ください。
Limit NSURLConnection data rate? (Bandwidth throttling)
しかし、これは私には役に立ちません。
目的の帯域幅スロットルを達成するための他の方法があります目的のcの帯域幅スロットリング(NSURLConnectionデータレートを制限する)

+0

私のアプリで同じ問題を抱えています。この質問にはどのansも共有してください。 –

答えて

1

問題は、別のスレッドで処理が行われていることです。

実際に帯域幅のスロットルを行う必要がある場合、それを行うには1つの方法があります。それは自分自身でソケット接続を管理することです。基本的には、独自のHTTPリクエストクラスを書くか、libcurlを使うことです。

また、iOSでこれを行う必要がある場合は、その経路を辿る場合、携帯無線機を起動するために、少なくともNSURLConnectionまたはNSURLSessionを使用して短いハイレベル要求を行う必要があります。

NSURLConnectionの代わりにNSURLSessionを使用してHTTPプロキシライブラリをアプリケーションに組み込み、そのプロキシを介してすべての要求を送信し、プロキシコードを変更してその速度を制限するように設定することもできますソケットからデータを読み取ります。

これらのアプローチのどれも、かすかな心のためのものではありません。

または、アプリケーション自体がスロットルを行うかどうか気にしない場合は、ネットワークリンクコンディショナーなど、いくつかの帯域幅シェーピングツールがあります。

+0

これは私を助けました –

関連する問題