2012-04-20 17 views
1

サーバーとAndroidアプリの間に双方向の常時通信を作成する最適な方法は何ですか?Androidアプリ、モバイルデバイスとの接続を開く

私が常時通信と言うとき、私はクライアントがデータを要求しているか、またはサーバーが常にクライアントにデータをプッシュしていることを意味します。

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

Androidでこれを使用できる無料のフレームワークはありますか?

私がしようとしているのは、チャットのように機能するが、複数の人のためのアプリケーションです。だから彼らはすべて、彼らのデバイス上の1つの "部屋またはチャンネル"に入り、サーバーによってハンドリングされた方法でお互いにやり取りします。

ありがとうございます!

+0

皆さん、これをやり直すのに最長で申し訳ありません。助けてくれてありがとう。 – decio

答えて

0

連続して開いているデータ接続の場合は、Socketsを使用できます。しかし、常に開いている接続でも素早くバッテリーを消耗させるという事実を考慮する必要があります。詳細については、あなたがAutobahnAndroidを見てみたいことがありthisthis

1

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

0

を読む:WebSocketを... http://wamp.ws上でネイティブのAndroid/JavaののWebSocketクライアントフレームワーク(プラスWAMP = PubSubの/ RPCを提供

https://github.com/tavendo/AutobahnAndroid

)。

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

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

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

0

しかし、iOSやAndroid搭載デバイスのバックグラウンドで接続を維持するとバッテリーがなくなります。この問題が発生した場合は、アプリがフォアグラウンドにないときにプッシュ通知を使用することをおすすめします。

0

私が見たところでは、サーバ/ブラウザの設定が のため、ウェブソケットは使用できません。そうですか?もしそうなら、代替案は何ですか?

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

関連する問題