8

WIFI が提供する同じ LAN 上に 2 つの Android アプリケーションがあります。

  1. ポート 8033 でリッスン ソケットを開くアプリ (A)
  2. HttpClient を使用してポート 8033 で (A) にアクセスするアプリ (B)

(A) が (B) で POST および GET 要求を実行できるようにするにはどうすればよいですか?
(A) が (B) にアクセスするために使用する URL はどのようなものですか?

ありがとうございます。

4

4 に答える 4

12

2 つの異なるレベルのネットワーク通信を混同する可能性があります。

レベル 4 : 2 つのソケット間の TCP 接続。
側 (単一 (2 つのプロセス?) または 2 つの異なるコンピューター) 間の論理パイプは、接続処理データのみがこのレベルで処理されます。

レベル 7 : ブラウザー/アプリケーション サーバーは、高レベル データ (ファイル、ファイル、画像、音声 ..) であり、このレベルで処理されます。

あなたの質問は、リッスン ソケット (レベル 4) と、HTTP プロトコル (レベル 7) でそれと対話するクライアントを開こうとしています。

そのため、HTTP プロトコルを処理するソケット リスニング側のギャップを埋めることができません
。Java Web サーバーの実装が役立つ場合があります。

于 2011-09-01T09:46:33.390 に答える
1

ポートをリッスンしてソケット接続を受け入れるだけでは、HttpClient にデータを返すには不十分です。実際、ソケットは物理的なパイプを提供しますが、そのパイプに沿って流れるデータの形式については何も知りません。HttpClient を使用するように設定されている場合は、サーバー アプリケーションが HTTP プロトコル (または少なくともその非常に基本的なサブセット) を理解する必要があります。

2 つのプロセスが何らかの方法で通信することだけが必要な場合は、サーバー アプリをサービスにしてから、クライアント アプリがこのサービスに必要なデータを問い合わせる方がよい場合があります。

于 2011-09-01T09:23:29.907 に答える