明確化に関しては、状況が他の関連する質問と異なるため、この質問は重複していません。
私たちは、サーバー側のPHPを利用したWebアプリケーションからデータを受信するクライアント側のアプリケーションに取り組んでいます。データは重要であり、できるだけ早くユーザーに配信する必要があります。クライアントへのサーバーまたはサーバープッシュデータからのデータのためのクライアントの要求は、我々が必要とする唯一のものがあるかどうかは関係ありません、信頼性と高速なオプション。
いくつかの方法がありますが、どれも私たちのプロジェクトに適合しません。
これは素晴らしいオプションですが、実際には、いくつかのプッシュを失ったため、信頼性が低く、一方で、遅延が非常に大きくなります。繰り返しますが、状況は重大なので、速くなければなりません。
これがこれまでのところ最善の解決策であると私たちが考えるものですが、非常に高価です。信頼性が高く、高速です。しかし一方で、妨害されたサーバーへのプレッシャーは非常に高くなり、現在のクライアント数でも役に立たなくなります。クライアントの数が増えると、私たちはダウンします。
私たちの他のオプションは、SMSをクライアントの電話に送信し、そのデータを使用してアプリケーションを操作することです。この方法を使用すると、サーバーへの負荷が非常に低くなります(GCMオプションと同様)。しかし、私たちの国のモバイルネットワークでSMSを送信すると、通常は10秒遅れます。このオプションは信頼性は高いですが、速度が遅いため使用できません。
クライアントのFMラジオ受信機を使用して、地元の放送局からデータを取得できます。この方法は信頼性が高く、非常に高速ですが、ステーションのコストは私たちを殺します!そして、たとえ私たちがそれを処理したとしても(読んでください:私たちはできません)、クライアントは常にイヤホンをスマートフォンに接続しません。
それで、選択肢は何ですか?サーバーに大きなプレッシャーをかけない、信頼性が高くほぼ高速な方法は何ですか?
WebSockets
説明する場合に使用することをお勧めします(OkHttp
たとえば、ライブラリを使用します)-使用の概要については、以下を参照してくださいhttps://medium.com/@ssaurel/learn-to-use-websockets-on-android-with-okhttp- ba5f00aea988。一般的なパターンは、Http RESTリクエストでのWebSocketの使用です(たとえば、最初のキャッチアップクエリの場合)。また、通常、アプリがフォアグラウンドにあるときにのみWebSocketを使用し、それ以外の場合はプッシュ通知に依存します。
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加