Как получить данные от NSURLConnectionDelegate при переключении из сети?

Я создаю класс, который общается с удаленным сервером. В настоящее время мое устройство (iPhone 4) имеет подключение через Wi-Fi и локальную сеть сотовой связи. По умолчанию он использует Wi-Fi. Он отлично работает в обоих случаях.

Однако, когда я переключаюсь с Wi-Fi на сотовую связь, он сталкивается с ошибкой делегата. Я хочу, чтобы связь продолжалась, даже когда связь изменилась.

Является ли это возможным? Как? Спасибо,

1 ответ

Решение

Я не ожидаю, что это возможно. Переключив сети, вы, вероятно, также переключили IP-адреса. Соединения определяются IP-адресами конечных точек (а также протоколом и специфическими для протокола данными, такими как номера портов). Таким образом, вы не можете поддерживать соединение при изменении IP-адреса. Вы должны очистить и избавиться от разорванного соединения и открыть новое.

Если используемый вами протокол высокого уровня, например FTP или HTTP, позволяет, вы можете попытаться возобновить передачу данных с того места, где они были прерваны. Например, если вы загружаете файл, вы можете возобновить загрузку с позиции файла из последних полученных вами данных.

Другие вопросы по тегам