Я бы не стал загружать более 3 или 4 предметов одновременно на iPhone.Независимо от ограничений реализации (в любом случае ASIHTTPRequest
вполне прилично) или возможности перегрузки диска, вы должны написать код для случая использования 3G, если ваше приложение явно не помечено (например, с настройкой Info.plist
), что для него требуется Wi-Fi.Fi.
В самом ASIHTTPRequest
существует решение, позволяющее сделать эти операции последовательными, а не параллельными.Добавьте ваши ASIHTTPRequest
объекты к ASINetworkQueue
(тот, который возвращается [ASINetworkQueue queue]
, подойдет).Они будут выполняться один за другим.
Обратите внимание, что при возникновении каких-либо ошибок все запросы в очереди будут по умолчанию отменены, если вы не установите для shouldCancelAllRequestsOnFailure
для очереди NO
.
РЕДАКТИРОВАТЬ: Я только что заметил, что вы уже упоминали об использовании очереди загрузки.Поэтому я подозреваю, что это скорее проблема на другом конце, чем на вашем устройстве.Соединения могут прерываться по разным причинам: параметр keep-alive слишком короткий, ресурсы сервера слишком малы, поэтому время ожидания истекло, некоторая часть физического соединения между сервером и магистралью Интернета периодически прерывается.Однако, чтобы быть уверенным, вам, вероятно, нужно протестировать свое приложение на нескольких устройствах, чтобы убедиться, что оно постоянно терпит неудачу на всех них, чтобы действительно сказать это.