携帯電話がIPを変更するとソケットが機能しなくなる可能性があるため、ソケットは良くないと言う人もいます(とにかくこれはどのくらいの頻度で発生しますか)。
確かに通常のシナリオではないものをあなたに与えることができます...
私の地元のパブは無料のwi-fiを提供しています。だから私は友達と飲み物を飲んでいて、私の電話は自動的にパブのWi-Fiに接続します。パブを出て範囲外になったら、モバイルインターネットを有効にしていると、電話はプロバイダーのデータネットワークに接続します。
家に帰る途中、地元の角の店に立ち寄って食料品を買いに行きます。店の上のオーナーの住居用にWi-Fiを設定しましたが、電話はWi-Fi接続の詳細を記憶して接続するように構成されています。私は店を出て、範囲外に出て、私の電話は私のプロバイダーのデータネットワークに再び接続します。
今夜は中華料理が欲しいと思い、家の近くのテイクアウトに立ち寄ります。また、彼らのためにWi-Fiシステムをセットアップすると、私の電話は自動的に彼らのアクセスポイントに接続します。私は店を出て、私の電話は私のプロバイダーのデータネットワークに接続します。
家に帰ると、電話が自分のWi-Fiネットワークに接続します。
したがって、約400ヤード(〜300メートル)の距離で、私の電話は6回異なる接続状態に変化します。
少し冗長になって申し訳ありませんが、それは現実のシナリオです。私のビジネスは、プライベートおよびスモールビジネスのユーザーにITサポートを提供することです。
つまり、アプリが何をするにしても、モバイルテクノロジー上のネットワークは何度も変化する可能性があるという事実に対応する必要があり、状態の変化を監視し、必要に応じて、既存の接続を破棄して再作成する必要があります。
直接ソケット接続の方がすぐに使える場合がありますが、ネットワークの変更には追加の処理が必要です。プッシュ通知には、プッシュサーバーが正しくセットアップされていることを前提として非同期であるという利点があります。