1

を使用していくつかのネットワーク要求を行っています[NSURLConnection sendAsynchronousRequest:request queue:[NSOperationQueue mainQueue] completionHandler:completionHandler]

残念ながら、これらのリクエストを実行する時間の半分で、NSErrorwith が発生しA server with the specified hostname could not be foundます。私もRequest timed out時間を得ますが、それほど頻繁ではありません。

私は地下室にいるので、ネットワーク接続の問題かもしれませんが、他のアプリでは問題なくリクエストを送信できます。また、サファリで問題なく URL を読み込むことができ、速度テストも問題ないようです。

リクエストは に送信されhttpます。また、同時に 2 ~ 3 件のリクエストが送信される場合もあります。

私の質問:

  • この動作の原因となるsendAsynchronousRequestデリゲート ベースのメソッドとは大きく異なることはありますか?NSURLRequest
  • そうでない場合、これらのエラーを適切に処理するための推奨される方法はありますか? 制限までリクエストを再試行しようとしましたが、すべてエラーになります。再試行の間に遅延を設定することを考えましたが、違いはないようです。
4

1 に答える 1

0

Apple の到達可能性ラッパーを試しましたか? バグを特定するのに役立つ場合があります。Reachability が 1 つのことを言っていて、NSURLConnection が別のことを言っている場合は、何か問題がある可能性があります。クエリしている Web サービスの負荷が高すぎるか、インターネットが不安定であると想定しています。

http://developer.apple.com/library/IOs/samplecode/Reachability/Introduction/Intro.html

Reachability.h/.m クラスを使用して、インターネット接続とホスト名接続をすべてテストすることにより、システムにインターネットの到達可能性を問い合わせることができます。

于 2013-08-14T20:48:36.597 に答える