2012-02-22 21 views
4

私はサーバーとAndroidの2つの通信が必要です。 Androidから各10分後に現在の位置座標をサーバーに送信します。私はいつでもサーバーにメッセージや画像を送ることができます。同様に私は必要なときにいつでもAndroidにデータを送りたいと思う。アンドロイドとサーバー間の双方向通信

私のアプリケーションのアーキテクチャーは何でしょうか。

Androidからサーバーへの通信とサーバーからAndroidへの通信は互いに独立していますが、私は双方向の通信として尋ねるべきではありませんが、私はいつでも両者からの通信を望んでいます。

ウェブサービスを使用する必要がありますか、ネットワークソケットのみ、またはその他のものを使用する必要があります。

答えて

3

あなたは、単に通常の要求を使用してサーバーに携帯電話からデータを送信websocketsか...

を使用することができます。サーバーから電話に何かを送る場合は、プッシュ通知(C2DM)を使用できます。そのようなプッシュメッセージを受け取った場合、サーバーにはデータがあり、電話は通常の要求を使用してダウンロードできます。送信するデータによって異なります。場合によっては、この方法がうまくいくことがあります。ウェブソケット、TCPソケット、さらにはXMPPプロトコルを使用する方が良い場合もあります。

+0

これはサーバーがAndroidに明示的にデータを送信することはできませんが、それはサーバーからデータを取得し、 –

+0

IDはC2DMを使用しています。はい - サーバーは電話機に来て、サーバーからデータを取得するように要求することができます。 ソケットを使用する場合は、Androidに直接データを送信できます。 – radzio

0

あなたはそれに肯定応答を使用できます。あなたのコードにACK/NACKロジックを実装する必要があります。データを送信するときに、特定の時間だけACKを待つだけです。 ACKが受信されなかった場合は、同じものに対してNACKを送信する必要があります。ここでは、session-id(両側の通信には一種のid、任意の乱数を使用できます)を使用する必要があります。

このロジックは、両方の側で使用できます。

+0

あなたの答えは不明です。 –

+0

あなたが期待していたものが好きですか? – Android

+0

私はServerとAndroidの間のコミュニケーションのアーキテクチャを私に提案するように要求していました。私は、Webサービスやソケット、またはAndroidとサーバーの間でデータを転送できる何かを使用する必要があります。 –

関連する問題