2012-04-03 26 views
1

現在、クライアントサーバーアーキテクチャを持つアプリケーションを作成しています。Java AndroidクライアントとC#サーバーとの通信

クライアントはJavaのAndroidアプリケーションです サーバーはC#アプリケーションです。

クライアントはサーバーからデータを取得しますが、場合によってはC#サーバーにもデータをプッシュします。

サーバーがクライアントを転送する必要があるデータは、データ構造のリスト(おそらくXMLの形式ですか?)、時にはファイルのようなバイナリデータです。

クライアントとサーバーがワイヤレスネットワークを介して通信しています。

スピードとスケーラビリティは、...システムの設計における私の一番上の優先事項です

私は自分自身をサーバを書くだけでなく、クライアントする必要があります。私は通信のためにソケットを使用します。

JavaクライアントとC#サーバー間でデータを交換するために使用するプロトコルの形式について助言が必要です。

JavaとC#で同様のデータ構造(これは冗長に見える)を記述してシリアル化する必要がありますか?

またはxmlを交換する必要がありますか?私は基本的に、クライアントとサーバからのコマンドが存在します ...それを行うための最善の方法は何かまだわからない

は、データ

で応答します通信されるデータのようになることができ、このトピックに私を教えてくださいwifi経由でいくつかのギグのように大きいので、速度は非常に重要です。

+0

SO答えが広すぎます。 –

+0

アーキテクチャ/設計レベルで対処する必要があることが懸念されます。私は技術に特化していると思う。 – Ahmed

答えて

0

さて、常にJSONがあります。両端でうまくサポートされていて、サーバーが生成しクライアントが消費するのは簡単です。あなたの帯域幅の懸念に役立つかどうか分かりません。

+0

私は最終的にこれのためにjsonを選択しなければならず、うまくいった。 – Ahmed

0

WCFがこれに該当すると思われます。WCFは石鹸を使用しているため、Javaの実装はうまくいくはずです。 WCFもスチーム処理をサポートしているので、大きなファイルの転送は可能ですが、Javaがストリーミングプロトコルをサポートしているかどうかはわかりません。

パフォーマンスに関しては、おそらくプロトコルではなくデバイスの速度によって制限されます。

0

あなたは、クライアントとサーバー間でコードを共有したい場合は、おそらくMonoDroidに探して価値があるだろう(とシリアライズ/デシリアライズは理にかなっている場合)。

ビルドしているものがわからないので、続行する前にRESTでお読みになることをお勧めします。さまざまなクライアントが簡単に使用できる素敵なAPIを作成する方法についての貴重な情報を提供します。

関連する問題