WIFI が提供する同じ LAN 上に 2 つの Android アプリケーションがあります。
- ポート 8033 でリッスン ソケットを開くアプリ (A)
- HttpClient を使用してポート 8033 で (A) にアクセスするアプリ (B)
(A) が (B) で POST および GET 要求を実行できるようにするにはどうすればよいですか?
(A) が (B) にアクセスするために使用する URL はどのようなものですか?
ありがとうございます。
WIFI が提供する同じ LAN 上に 2 つの Android アプリケーションがあります。
(A) が (B) で POST および GET 要求を実行できるようにするにはどうすればよいですか?
(A) が (B) にアクセスするために使用する URL はどのようなものですか?
ありがとうございます。
2 つの異なるレベルのネットワーク通信を混同する可能性があります。
レベル 4 : 2 つのソケット間の TCP 接続。
側 (単一 (2 つのプロセス?) または 2 つの異なるコンピューター) 間の論理パイプは、接続処理データのみがこのレベルで処理されます。
レベル 7 : ブラウザー/アプリケーション サーバーは、高レベル データ (ファイル、ファイル、画像、音声 ..) であり、このレベルで処理されます。
あなたの質問は、リッスン ソケット (レベル 4) と、HTTP プロトコル (レベル 7) でそれと対話するクライアントを開こうとしています。
そのため、HTTP プロトコルを処理するソケット リスニング側のギャップを埋めることができません
。Java Web サーバーの実装が役立つ場合があります。
HTTP サーバーを使用する Java EE の方法 : "Tiny Java Web Server" @ http://tjws.sourceforge.net/は、探しているものに役立つ可能性があります。
HTTP サーバーを使用する「Apache」の方法http://www.androiddevblog.net/android/a-bare-minimum-web-server-for-android-platform http://en.wikipedia.org/wiki/OSI_model
を参照
#Layer_3:_Network_Layer
を使用して、これらの通信レイヤーをより完全に表示
ポートをリッスンしてソケット接続を受け入れるだけでは、HttpClient にデータを返すには不十分です。実際、ソケットは物理的なパイプを提供しますが、そのパイプに沿って流れるデータの形式については何も知りません。HttpClient を使用するように設定されている場合は、サーバー アプリケーションが HTTP プロトコル (または少なくともその非常に基本的なサブセット) を理解する必要があります。
2 つのプロセスが何らかの方法で通信することだけが必要な場合は、サーバー アプリをサービスにしてから、クライアント アプリがこのサービスに必要なデータを問い合わせる方がよい場合があります。