Android - режимы подключения, идентификации устройства и устройства связи? - PullRequest
1 голос
/ 28 мая 2010

Может кто-нибудь объяснить мне пару очень простых понятий - меня интересуют мобильные устройства под управлением Android и как они идентифицируются в сетях. Некоторые сценарии:

  • Устройство подключено через WiFi - предположительно, устройство имеет стандартный IP-адрес, как и любой хост, и может связываться с любым другим хостом Android через TCP / IP (при условии, что оно знает IP-адрес участвующего устройства?
  • Устройство подключено по Bluetooth - как устройства идентифицируются в этом случае?
  • Устройство подключено по сети мобильного оператора - это то, что меня интересует и смущает - есть ли два или более устройств для обнаружения друг друга и общения через сеть оператора мобильной связи? Как устройство взаимодействует с внутренним сервером в этом сценарии? Другими словами, как приложения и устройства взаимодействуют, когда не подключен к сети WiFi?

Спасибо за любой совет ..

Ответы [ 2 ]

1 голос
/ 28 мая 2010

WiFi и 3G подключают [мобильное] устройство к Интернету, чтобы оно могло подключаться к Интернету. 3G назначает общедоступный IP-адрес устройству, поэтому можно предположительно открыть сокет сервера и прослушивать соединения. Клиент должен знать мобильный IP, который может меняться довольно часто.

Bluetooth больше ориентирован на близость. Устройства, находящиеся поблизости, могут быть подключены после того, как вы с ними спарены, что требует взаимодействия обоих устройств, которые должны обмениваться данными.

Если целью является создание приложения, которое подключается к ближайшим устройствам, я могу подумать о следующих идеях:

  • 3g: все устройства, на которых работает клиент, регистрируют свою позицию на центральном сервере баз данных. Если сервер обнаружит, что два клиента находятся в непосредственной близости, сообщите им, чтобы они могли подключиться через Интернет или через сервер
  • WiFi: вы можете использовать ту же идею, что и 3g, или использовать широковещательные / многоадресные пакеты для трансляции своего присутствия. Другие приложения могут прослушивать эти трансляции и обнаруживать, какие другие устройства находятся рядом.
  • Bluetooth: немного хитрее, поскольку устройство должно быть переведено в режим обнаружения, чтобы другие могли его «увидеть». Обнаруживаемый режим является временным состоянием и длится около 30 секунд (одновременно).
1 голос
/ 28 мая 2010

Я уверен только в том, что касается Bluetooth, поэтому я отвечаю только на эту часть:

Интерфейс Bluetooth на вашем устройстве имеет адрес MAC. Таким образом, при связи через Bluetooth вы можете предположить, что этот MAC-адрес является уникальным идентификатором для конкретного устройства. Вы также можете подключиться к другим устройствам, установив соединение по этому MAC-адресу. Однако, чтобы получить этот MAC-адрес, вам нужно знать его откуда-то, или вы должны были искать другие устройства Bluetooth в зоне досягаемости ранее.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...