NSURLSession возобновить загрузку видео

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

- (void)URLSession:(NSURLSession *)session task:(NSURLSessionTask *)task didCompleteWithError:(NSError *)error{
}

Как я могу возобновить загрузку, когда соединение WIFI восстановлено?


person QueueOverFlow    schedule 12.08.2014    source источник
comment
На какой сервер заливаете?   -  person Xcoder    schedule 13.08.2014
comment
@Xcoder Мы используем сервер Azure для загрузки.   -  person QueueOverFlow    schedule 13.08.2014
comment
Вы загружаете файл по HTTP? Если это так, как только Wi-Fi отключен, все, что вы загрузили, будет удалено автоматически. Вам нужно реализовать сокет, чтобы возобновить загрузку после отключения Wi-Fi.   -  person Shinya Koizumi    schedule 12.09.2015


Ответы (1)


Вы можете выполнить загрузку с помощью фонового сеанса. Если вы используете сеанс по умолчанию и Wi-Fi отключается во время загрузки, обработчик завершения запускается сразу. Из-за чего вы не сможете возобновить работу, когда сеть вернется. Но если вы используете фоновый сеанс и если Wi-Fi отключается во время загрузки, обработчик завершения не запускается до тех пор, пока не произойдет некоторый тайм-аут (тайм-аут ресурса). Всякий раз, когда Wi-Fi возвращается, он либо возобновляет загрузку, либо запускает ее снова, в зависимости от сервера.

Задачи загрузки и выгрузки в фоновых сеансах автоматически повторяются системой загрузки URL-адресов после сетевых ошибок. Нет необходимости использовать API достижимости, чтобы определить, когда повторить неудачную задачу.

Источник: Руководство по программированию сеансов URL

person Utsav Dusad    schedule 22.03.2016