Android - Вопросы о подключении - PullRequest
7 голосов
/ 05 мая 2010

У меня есть пара вопросов о подключении на Android, если кто-нибудь есть какое-то понимание, это было бы замечательно.

1) Какое значение по умолчанию, когда приложение хочет установить беспроводное соединение? Это Wlan? А если wlan выключен или нет точек доступа вокруг это 3g или gprs?

2) Всегда ли ip-устройство подключено? Или когда его отключили от WLAN или 3G он теряет свой IP-адрес?

3) Это приложение, например, браузер, когда-либо подключенный только к одному айпи адрес? Или это может быть связано с несколькими адресами для каждого радио, такое как gprs или wifi (wlan)?

4) Может ли приложение решить, к какому соединению открыть сокет? За Например, я могу создать приложение и решить, следует ли подключить сокет к WLAN или GPRS? Или ОС решает?

5) Наконец, как собственные приложения обрабатывают подключение? В то же самое образом?

1 Ответ

4 голосов
/ 05 мая 2010

Как и на любом компьютере с Linux, у вас есть разные устройства для разных сетевых интерфейсов - например, на моем устройстве: eth0 для WLAN, rmnet0 для 3G / GPRS (невозможно одновременно подключиться через 3G и GPRS). Подключенный интерфейс получает IP-адрес, и таблицы маршрутизации ядра обновляются, так что все пакеты будут маршрутизироваться через подключенное устройство. Теоретически, вы можете подключить оба интерфейса, однако на всех устройствах Android, которые я видел, одновременно будет активен только один сетевой интерфейс (исключая переходные периоды, когда Wi-Fi включен или выключен, или когда сохраняется соединение TCP все еще активен).

Обычно нативные приложения не заботятся о подключении к Интернету - если есть какое-либо соединение, оно будет работать; в противном случае приложение получит тайм-аут соединения (или аналогичную ошибку).

...