私は、ビジネスサーバーのシンクライアントとして機能するiOSアプリケーションに取り組んでいます。サーバーに送信されるリクエストはたくさんあり、ダウンロードされるデータもたくさんあります。
私は派手なリクエストフレームワークを使用せずNSURLConnection
、デリゲートと非同期にするだけです。
アプリケーションは通常、 wifiと3Gの両方で非常にうまく機能しますが
一部のユーザーは、3G(米国)を使用しているときにランダムに切断されると報告しています。すべてのリクエストは問題ありませんが、「ホストに接続できません」(-1004)エラーでリクエストが失敗することがあります。
これはユーザーエクスペリエンスに大きく影響します。
いくつかの事実:
- Wi-Fiでは発生しません
- ユーザーは、3Gを使用している場合、他のアプリケーションでは発生しないと報告しています。
- これはタイムアウトの問題ではありません。接続を開始してから0.3〜1.0秒後にエラーが表示されます。
- tracerouteを使用して問題を再現することはできませんでした。
- ホストを使用
SCNetworkReachability
することは到達可能であるように見えます(私はこのAPIの制限を知っています)。
質問問題の原因は何でしょうか?3Gとwifiではどのような接続プロパティが異なる可能性がありますか?どうすればデバッグできますか?
現在私が見ている唯一の解決策は、前のリクエストが失敗した場合にリクエストを再送信しようとすることです。ただし、まずは問題の原因を突き止めたいと思います。
編集問題はおそらく私たちのルーターの1つが原因でした。IT担当者はまだ問題を調査しています。