1

TCP/IP ソケットを介して Android フォン (クライアント) と PC 上のアプリケーション (サーバー) との間で通信するためのアプリを構築する必要があります。ユーザーがアプリを起動すると、同じ Wi-Fi で実行されている利用可能なサーバーを自動的に検出したいと考えています。

私の質問は次のとおりです。 - サーバーの IP を入力せずに、電話のアプリがサーバーを見つけるにはどうすればよいですか。

ありがとう。

4

1 に答える 1

0
  • PC にインストールしたプログラムはサーバーですか?

ソース コードを見ずして確実に知ることは不可能ですが、Windows コンポーネントがサーバーとして機能し、要求をリッスンして応答を送信することは間違いありません。HTTP サーバーのようなサーバーではないかと思います。おそらく、カスタム プロトコルで TCP/IP ソケットを使用しているだけです。

  • 電話のアプリは、IP アドレスを入力しなくても、どのようにして PC を見つけたのですか?

IPブロードキャスト アドレスに UDP メッセージを送信した可能性があります。PC プログラムはそのブロードキャスト メッセージをリッスンし、「ここにいます。この IP アドレスで」と応答します。ブロードキャスト アドレスを使用することで、アプリはネットワーク スキャンのような複雑なことを行う必要がなくなります。

このリンクを参照してください:ブロードキャスト アドレス - ウィキペディア

  • サーバーは Wi-Fi ネットワークを介してその存在をブロードキャストしますか?

アプリの起動時に Android デバイスがそれを行う可能性が高くなります。

繰り返しになりますが、ソース コードを見ないと 100% 確信は持てませんが、これらの種類のプログラムがどのように作成されているかを考えると、これらが最も可能性の高い答えです。

于 2015-03-30T02:40:48.957 に答える