[解決済み] AFNetworkingでタイムアウトを設定する方法
2023-08-08 02:15:32
質問
私のプロジェクトはAFNetworkingを使用しています。
https://github.com/AFNetworking/AFNetworking
どのようにタイムアウトをダイヤルダウンしますか。現在、インターネット接続がない場合、フェイル ブロックは約 2 分間トリガーされません。長すぎます...。
どのように解決するのですか?
タイムアウト間隔を変更することは、あなたが説明している問題に対する最善の解決策ではないことはほぼ確実です。代わりに、あなたが実際に望んでいることは、HTTP クライアントがネットワークが到達不能になることを処理することであるように思えますが、違いますか?
AFHTTPClient
は、インターネット接続が失われたときにそれを知らせるメカニズムをすでに内蔵しています。
-setReachabilityStatusChangeBlock:
.
低速のネットワークではリクエストに長い時間がかかることがあります。iOS が遅い接続に対処する方法を知っていて、接続がまったくない場合との違いを教えてくれることを信頼する方がよいでしょう。
このスレッドで言及された他のアプローチをなぜ避けるべきかについての私の理由を説明するために、いくつかの考えを紹介します。
- リクエストは開始される前にキャンセルされる可能性があります。リクエストをキューに入れることは、それが実際にいつ開始されるかについて何の保証もありません。
- タイムアウト間隔では、長時間実行されるリクエスト (特に POST) はキャンセルされないはずです。100MB の動画をダウンロードまたはアップロードしようとしている場合を想像してみてください。遅い 3G ネットワークで可能な限りリクエストが進行している場合、予想よりも少し時間がかかっている場合に、なぜ不必要にそれを停止しなければならないのでしょうか?
-
実行中
performSelector:afterDelay:...
は、マルチスレッドアプリケーションでは危険です。これは、不明瞭でデバッグが困難な競合状態に対して自分自身を開放してしまいます。
関連
-
[解決済み] キーボードがあるときに、UITextFieldを編集開始時に上に移動させるには?
-
[解決済み] iOSまたはmacOSで、インターネット接続が有効かどうかを確認するにはどうすればよいですか?
-
[解決済み] プロジェクト内の単一ファイルのARCを無効にするにはどうしたらいいですか?
-
[解決済み] カスタムオブジェクトを含むNSMutableArrayをソートするにはどうすればよいですか?
-
[解決済み] iOSのバージョンを確認する方法を教えてください。
-
[解決済み] Cocoapods警告 - CocoaPodsがプロジェクトの基本構成を設定しなかった理由は、プロジェクトに既にカスタム構成が設定されているためです。
-
[解決済み】WindowsでTCPまたはUDPポートをリッスンしているプロセスを見つけるにはどうすればよいですか?
-
[解決済み】iOSアプリの名前を変更する方法は?
-
[解決済み] Objective-Cで`oneway void`の使用例?
-
[解決済み] フォーマット文字列, 先頭のゼロを含む整数
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] Objective-Cのクラス→文字列のようなものです。[NSArray className] -> @"NSArray" のようになります。
-
[解決済み] Objective-CのクラスでSwiftのプロトコルをインポートする
-
[解決済み] Objective-Cでコールバックを実行する方法
-
[解決済み] NSDictionaryにboolean値を追加するにはどうすればよいですか?
-
[解決済み] Objective-Cでオブジェクトのプロパティリストを取得する
-
[解決済み] Objective-Cで`oneway void`の使用例?
-
[解決済み] Objective-Cです。NSNotificationのオブザーバを削除するには?
-
[解決済み] Xcodeの "unused variable "の警告を消すにはどうしたらいいですか?
-
[解決済み] ViewController の respondsToSelector: 割り当て解除されたインスタンスにメッセージが送信される (CRASH)
-
[解決済み] AFNetworkingに欠けているASIHTTPRequestの主な機能は何ですか?