到達可能性フレームワークについて調べましたが、ホストの定義が到達可能である理由が「データパケットが...ローカルデバイスを離れることができるとき」である理由をまだ混乱しています。
到達可能性が「はい」を返した場合、ソケット接続を試行する必要があるようで、実際に接続するまで、ホストが稼働していることはわかりません。Reachability が Ping を使用して、ホストが実際に稼働しているかどうかをより正確に把握しないのはなぜですか? そして、そもそもこのフレームワークの必要性は何ですか?
私の推測ではこの 2 つですが、Reachability フレームワークを使用する他の理由を知っている人がいたら教えてください。
1) 到達可能性は、インターネットが復旧したときに即座に通知するコールバックを提供します。これが発生すると、ソケット接続をすぐに試行できます。ただし、アプリケーションの 99% では、数秒ごとにソケット接続を試行するか、最悪の場合、ユーザーが特定のアクションを実行したときに接続を試行するだけで問題ないようです。確かに、これは理想的な解決策ではありませんが、この理由で到達可能性フレームワークが本当に必要になる理由がわかりません。
2) サーバーへのソケット接続が確立されている場合でも、ネットワークが G3/WiFi であるかどうかについて、到達可能性から重要な情報が得られます。ネットワークの種類に応じて動作を最適化できるため、到達可能性が本当に必要になるのはこれだけだと思います。