Что произойдет с существующими соединениями при переключении между 3G / Wi-Fi

Предположим, у меня есть TCP-соединение, по которому передаются большие объемы данных в моей сети 3G; и я пошел домой, Android автоматически переключился на мой домашний Wi-Fi. Что теперь происходит с существующим подключением? это просто отключение? или он будет работать, только новые соединения будут использовать Wi-Fi?

Вдобавок, что, если я уйду из дома, потеряю сигнал Wi-Fi и переключусь на 3G? Можно с уверенностью предположить, что соединение разорвано. Что касается моего приложения, нужно ли мне обрабатывать повторное подключение, или есть решение с автоматическим откатом?

Заранее благодарим.

Хунбо

18
задан Hongbo 18 August 2010 в 12:53
поделиться

2 ответа

Соединение пропадет, потому что ваше устройство будет отображаться с другим IP-адресом, по которому TCP-пакеты находят свой путь.

Откат не будет, если вы его не закодируете, что вам все равно следует делать, если ваше приложение много времени проводит в 3G. Для настольных приложений это нормально, когда они говорят "Ооо!" когда на вашем кабельном или DSL-канале периодически возникают сбои, а соединения 3G постоянно прерываются.

9
ответ дан 30 November 2019 в 09:32
поделиться

Произойдет то же самое, как если бы вы отключили портативный компьютер от одной сети и подключили к другой. Связи пропадут. Мобильные приложения с гораздо большей вероятностью столкнутся с обрывающимися / неработающими соединениями, поэтому их следует кодировать соответствующим образом. Например, приложения могут регистрироваться для изменения статуса через android.net.ConnectivityManager. В некоторых случаях приложениям может потребоваться выполнить проверку целостности всего, что они загружают, чтобы они не начали пытаться отобразить поврежденный файл. В других случаях было бы плохим тоном загружать определенные виды данных (например, большие файлы), если соединение осуществляется через 3G.

1
ответ дан 30 November 2019 в 09:32
поделиться
Другие вопросы по тегам:

Похожие вопросы: