0

私は、1日を通してサーバーに接続し、常に通信するアプリケーションを作成しています。

この日中、ユーザーは接続を失ったり、範囲外になったりする可能性があります。コードの動作やユーザーへの通知方法に関して、これらのインスタンスを処理するための最良の方法は何かと考えていました。

4

2 に答える 2

1

インターネット、WiFi到達可能性の例(KSReachability)でこのソースを見てみてください

KSReachability

到達可能性

于 2012-11-20T01:39:12.820 に答える
1

*注:HTTPを介してネットワーク操作を実行することを想定しています

読み取り

読み取られるデータの場合、データの変化の速さに関する仮定が何であるかによって異なります。

変更可能なデータ(たとえば、1日に数回変更されると予想されるデータ)の場合は、SDURLCacheを使用します。SDURLCacheは、HTTPローカルキャッシュを提供します。AFNetworkingに接続すると、標準のHTTPキャッシング動作(期限切れヘッダー、etagなど)も尊重されます。

「静的」データの場合、データをアプリケーションにローカルでバンドルし、HTTPを介して定期的に更新を確認できます。

いずれの場合も、(可能であれば)アプリにデータをパッケージ化して、アプリがインストールされた日にネットワーク接続がまったく必要ないようにする必要があります。

書き込み

書き込みの場合、これを処理する最良の方法は、すべての書き込みをキューに入れ、適切なタイミングで投稿することです。キューの実装は比較的簡単で、ローカルに保存する方法に大きく依存します。1つの方法は、SQLite dbテーブルにフラグを設定して、サーバー側に投稿する必要のあるデータ要素を示すことです。もう1つは、ドキュメントを作成してディスクに書き込み、接続が確立されたときにサーバー側にドキュメントを送信するための個別のディスパッチスレッドを用意することです。

于 2012-11-20T01:42:35.393 に答える