Проблема с тайм-аутом nsurlconnection

У меня странная проблема с NSURLConnection. Я установил время соединения из 20 секунд, как это.

NSURLRequest *request = [NSURLRequest requestWithURL:url cachePolicy:NSURLRequestUseProtocolCachePolicy timeoutInterval:20.0];
NSURLConnection *con= [[NSURLConnection alloc] initWithRequest:request delegate:self];

Я также реализую методы делегата для NSURLConnection.

Теперь, когда я запустил приложение, соединение не истекло через 20 секунд, но через 2-3 минуты выдает ошибку «Нет подключения к интернету». Разве он не должен выдать ошибку тайм-аута через 20 секунд?

1
задан bala 25 August 2010 в 06:33
поделиться

1 ответ

В обсуждении timeoutInterval говорится, что он запускается (установлен в 0), когда происходит процесс загрузки:

Интервал тайм-аута определяет лимит на холостом ходу интервал, отведенный запросу в процессе загрузки. «холостой интервал» определяется как период времени, прошедший с момента последний экземпляр активности загрузки произошел для запроса, который находится в процесс загрузки. Следовательно, когда происходит экземпляр нагрузки (например, байты получены из сети для запроса), интервал для запроса сбрасывается на 0. Если интервал простоя когда-либо становится больше или равно интервалу тайм-аута, запрос считается истекшим. Этот интервал времени ожидания измеряется в секундах.

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

2
ответ дан 2 September 2019 в 21:53
поделиться
Другие вопросы по тегам:

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