Я использую URLSession
и запросы (обернутые Alamofire
) на стороне iOS для PUT / POST больших данных на мой сервер JAX-RS.
Моя конечная точка JAX-RS использует JSON, но может иметь размер до 5 МБ, поэтому в плохих сетях это может занять некоторое время.
Чтобы избежать тайм-аута на стороне iOS (это моя основная проблема), я знаю, что могу использовать большой тайм-аут (скажем, один день).
Мои вопросы:
- Я верю, что установка такого тайм-аута может привести к сбою запроса «обречен с самого начала» только через один день, что помешает моему коду умно повторить попытку в нужное время. Верна ли эта вера и почему?
- На стороне сервера, я знаю, что мог бы использовать механизмы асинхронного ответа и потоковой передачи, получить полный JSON
String
, проанализировать его, чтобы получить параметры моего запроса ... Но так как он вводит много шаблонного и некоторых раздражающих адаптаций в целевой серверный проект, есть ли альтернатива, чтобы клиент получал что-то, что сбрасывает простоя timeout из NSURLRequest
?
- Есть ли альтернатива на стороне iOS? Например, у меня была интуиция с использованием
NSURLSessionUploadTask
, но я не знаю, действительно ли это так.