0

私は最近、ネットワーク (Wi-fi、3G、LTE、オフライン) を切り替えるアプリでいくつかのテストを行っています。このスイッチを検出するときに到達可能性を使用してきましたが、たとえばアプリが「オフライン状態」になったときの実装には現在満足していません。

私は基本的に、ネットワークなしが開始されたときに NSLog をスローしているだけですが、スイッチ間でオフになるのを見てきました。私の質問です...どうすればこれらのことをうまく管理できますか? 「オフライン状態」に入る前に、ネットワークがない場合に数秒の遅延を与えますか? または、これを改善する他の方法はありますか?

オーディオをストリーミングするときの大きな問題.単純なネットワークの切り替えやわずかな接続の切断が原因で、このようなオフライン状態にはなりたくありません。私が行うことの 1 つは、状態を変更する前にバッファーが空になるのを待つことです。

4

1 に答える 1

1

はい、2 回確認してください。あなたの例を使用すると、「オフライン」通知を受け取ると、フラグが反転します (BOOL claimingOffline)。次に、バッファが空になったら、ステータスを確認します。オンラインに戻ったら、前述のフラグを外します。まだオフラインの場合は、フラグを反転して「オフライン モード」に移行します。この手法を使用すると、本当に知る必要がある瞬間 (バッファーが空になるとき) まで待つことができます。それ以外の場合はタイマーを使用できますが、最適ではなく、それほどエレガントではありません...

于 2012-11-15T17:47:02.500 に答える