1

誰かが私にいくつかの非常に単純な概念を説明できますか?私はAndroidを実行しているモバイルデバイスとそれらがネットワーク上でどのように識別されるかに興味があります。いくつかのシナリオ:

  • デバイスはWiFi経由で接続されています-おそらく、デバイスは他のホストと同様に標準のIPアドレスを持ち、TCP / IPを介して他のAndroidホストと通信できます(参加しているデバイスのIPを知っていると仮定しますか?
  • デバイスはBluetooth経由で接続されています-この場合、デバイスはどのように識別されますか?
  • デバイスは携帯電話会社のネットワークを介して接続されています-これは私が興味を持って混乱しているものです-とにかく2つ以上のデバイスがお互いを発見して携帯電話会社のネットワークを介して通信することはありますか?このシナリオでは、デバイスはバックエンドサーバーとどのように通信しますか?つまり、 WiFiネットワークに接続されていない場合、アプリとデバイスはどのように通信しますか?

アドバイスありがとうございます。

4

2 に答える 2

1

WiFi と 3g はどちらも [モバイル] デバイスをインターネットに接続して、インターネット接続を確立できるようにします。3G はパブリックにアドレス指定可能な IP をデバイスに割り当てるため、おそらくサーバー ソケットを開いて接続をリッスンできます。クライアントは、かなり頻繁に変更される可能性があるモバイル IP を知っている必要があります。

Bluetooth は、より近接性を重視しています。近くにあるデバイスは、ペアリング後に接続できます。これには、通信する両方のデバイスの協力が必要です。

目標が近くのデバイスに接続するアプリケーションを作成することである場合、次のアイデアが考えられます。

  • 3g: クライアントを実行しているすべてのデバイスは、その位置を中央データベース サーバーに登録します。2 つのクライアントが近接していることをサーバーが検出した場合は、インターネットまたはサーバー経由で接続できるようにクライアントに知らせます。
  • WiFi: 3g と同じアイデアを使用するか、ブロードキャスト/マルチキャスト パケットを使用してプレゼンスをブロードキャストできます。他のアプリは、これらのブロードキャストをリッスンして、近くにある他のデバイスを検出できます。
  • Bluetooth: 他の人が「見る」ためにデバイスを検出可能モードにする必要があるため、少しトリッキーです。検出可能モードは一時的な状態であり、(一度に) 約 30 秒しか持続しません。
于 2010-05-28T16:38:15.223 に答える
1

私はBluetoothのことしか知らないので、この部分だけに答えます:

デバイスの Bluetooth インターフェイスには MAC アドレスがあります。そのため、Bluetooth を介した通信中は、この MAC アドレスが特定のデバイスの一意の識別子であると想定できます。この MAC アドレスを介して接続を確立することにより、他のデバイスに到達することもできます。ただし、最初にこの MAC アドレスを取得するには、どこかからそれを知る必要があります。または、以前にリーチャブラ エリアで他の Bluetooth デバイスを検索する必要があります。

于 2010-05-28T13:12:51.290 に答える