Проблема с тайм-аутом nsurlconnection - PullRequest
1 голос
/ 25 августа 2010

У меня странная проблема с 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 Ответ

2 голосов
/ 25 августа 2010

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

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

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

...