1

サーバーとAndroidアプリ間の双方向の常時通信を作成する最良の方法は何ですか?

絶え間ない通信とは、クライアントがサーバーにデータを要求するか、サーバーが常にクライアントにデータをプッシュすることを意味します。

私が見たところ、websockets はサーバー/ブラウザーのセットアップ用のデザイナーであるため、使用できません。そうですか?もしそうなら、代替手段は何ですか?

Android でこれを操作するための無料のフレームワークはありますか?

私がやろうとしているのは、チャットのように機能するが複数の人向けのアプリケーションです。したがって、それらはすべて、デバイス上の 1 つの「部屋またはチャネル」に入り、サーバーによって処理される方法で相互に対話します。

ありがとう!

4

5 に答える 5

1

私の知る限り、可能な方法の 1 つは、クライアントがサーバーに接続できる Web サービスを使用することです。Web サービスが RESTFul の場合、それにアクセスするための多くのライブラリがあり、そのうちの 1 つは apache HTTPClient で、サーバーが私が知っている唯一の方法は、データをクライアントにプッシュするための C2DM です。

于 2012-04-20T19:47:48.190 に答える
0

あなたはAutobahnAndroidを見たいと思うかもしれません:

https://github.com/tavendo/AutobahnAndroid

ネイティブの Android/Java WebSocket クライアント フレームワークを提供します (さらに WAMP = PubSub/RPC over WebSocket .. http://wamp.ws )。

これは、ブラウザ クライアントにサーバーを提供する WebSocket サーバーと完全に相互運用可能です。

AutobahnXX ライブラリ (XX = Python、JS、Android) はオープンソース (Apache 2.0) です。私たち (Tavendo) は、アウトバーンに基づく商用仮想アプライアンスを提供しています: http://autobahn.ws

免責事項: 私は Autobahn の著者であり、Tavendo で働いています。

于 2012-04-22T10:19:45.547 に答える
0

ただし、iOS および Android デバイスのバックグラウンドで接続を実行し続けると、バッテリーが消耗します。この問題を抱えている人には、アプリがフォアグラウンドにないときにプッシュ通知を使用することをお勧めします。

于 2014-09-26T09:22:23.003 に答える
0

継続的に開いているデータ接続には、Socketsを使用できます。ただし、常に開いている接続ではバッテリーがすぐに消耗するという事実も考慮する必要があります。詳細については、これこれをお読みください

于 2012-04-20T19:51:54.650 に答える
0

私が見たところ、websockets はサーバー/ブラウザーのセットアップ用のデザイナーであるため、使用できません。そうですか?もしそうなら、代替手段は何ですか?

Websocket は IETF/W3C プロトコルであるため、特定のクライアント プラットフォームに限定されません。Android websocket を使用して、Android とサーバー側の間で双方向通信を行うことができます。Android websocket クライアントの場合、AndroidAsyncを使用することをお勧めします。通信リンクを確立し、Android とサーバーの間でデータを交換するために必要なすべての websocket API が含まれています。

于 2015-08-13T17:05:17.330 に答える