Какова ситуация в отношении таймаута NSURLConnection с iOS5?


Я пытаюсь найти окончательный ответ на вопрос, Можно ли установить значение таймаута для использования NSURLConnection в iOS 5 (я хотел бы установить его на 30 секунд).

Я искал прошлые публикации по этому поводу, но информация кажется противоречивой. Например, это сообщение

Тайм-аут NSURLConnection?

Говорит, что Apple требует 4-минутного минимального таймаута-хотя я не могу найти никакой документации Apple, чтобы поддержать это.

Это сообщение говорит, что предел 240 наступает из темы форума apple NSMutableURLRequest не подчиняется моему timeoutInterval

Они говорят, что это ограничение только для постов, когда тело не пусто. Означает ли это, что можно установить тайм-аут менее 4 минут для GETS?

Кто-то прокомментировал здесь, что это не так с iOS 5, однако они были отклонены голосованием NSMutableURLRequest не подчиняется моему timeoutInterval

И есть другие говорят другие вещи, но в любом случае большинство предыдущих сообщений на эту тему, кажется, с пару лет назад до iOS 5.

Если существует ограничение в 4 минуты, то необходимость полагаться на слухи, чтобы знать, что это немного смешно, если действительно нет документации Apple.

Кто-нибудь знает фактическую окончательную ситуацию на этом для iOS 5.

2 4

2 ответа:

Это не соединение, которое имеет связанный тайм-аут, это запрос (который выполняется через соединение). Смотрите документацию по NSURLRequest. Интервал тайм-аута измеряется в секундах (не минутах, что является лишь подсказкой).

Возвращаемое Значение Интервал ожидания приемника, в секундах.

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

Различные коды Apple и документация показывают таймауты в 60 секунд; таким образом, 4 минуты не могут быть минимальными.

На своем опыте я обнаружил, что: - Его можно установить значение таймаута ничего (например, 0.1 секунды) для HTTP получает. - ОС действительно накладывает ограничение в 240 для HTTP-сообщений с телом.