2011-08-02 6 views
0

Webサービスには、Webサービスが利用可能かどうかをテストするのに最適な「ping」機能があります(インターネット接続が利用できるかどうかは気にしません)。私はこの状態をテストする方法を知っていますが、私のアプリケーションでこれを実装するにはどうしたらいいですか?どこでテストしますか?iPhoneアプリケーションの接続不足の処理

接続がない場合、アプリケーションはもちろんクラッシュしません。空のテーブルビューまたは一連のビューが返されます。各要求の前にpingを置いて、pingが失敗したときに例外またはエラーメッセージを生成する必要がありますか?ウェブサービスリクエスト+レスポンス自体は、実際のデータの送信よりも時間がかかることがあります(私はそれがそうであると思います)ので、各リクエストの前にPingを実装すると、各リクエストを実行するのに要する時間がほぼ倍増することがあります。または、継続的にpingを行い、接続が確立されていることを確認する必要がありますか?ベストプラクティスは何ですか?

それはまったく心配すべきですか?

答えて

0

iOSは、ネットワーク接続が変更されたとき(航空機モードから携帯電話のみ、Wi-Fiとバック)にコールバックを提供することができます。したがって、ネットワークの状態が変わったときにいつでも通知を受け、サーバーにpingをかけずに、適切なオンライン/オフラインメッセージを表示することができます。

NetworkReachability.hヘッダーのSCNetworkReachabilitySetCallbackメソッドを見てください。

+0

しかし、特定のサービスにはどうしたらいいですか?たとえば、私は接続性を持っていると言いますが、Webサービスはちょうどダウンしています。 –

+0

私はあなた自身がそう思っています...実際のサービスを確認するためのpingに時間がかかりすぎると、起動時と低頻度で実行される余分なスレッドに入れてしまうでしょう。次にメインワークフローでステータス変数をクエリするだけです – KPK

関連する問題