Мне нужно загружать большие файлы с URL-адреса асинхронно и заполнять буфер (например, 4096 байт) до определенного размера перед обработкой данных. Было бы здорово использовать встроенный объект, такой как NSURLConnection
, но у меня возникли некоторые проблемы.
При NSURLConnection
сообщение didReceiveData:data
решает, когда запускать самостоятельно. Например, я мог бы получить 954 байта в первый раз и впоследствии 1048 байтов, пока он не закончил загрузку. Могу ли я в любом случае изменить NSURLConnection
, чтобы заставить его считываться до нужного мне размера буфера, прежде чем запускать полученное сообщение?
Я также изучил использование классов CFNetwork, но это кажется намного сложнее, и я хотел бы избежать этого, если это возможно.
Кроме того, я мог бы добиться этого, используя хорошо известный класс AsyncSocket
, но тогда мне пришлось бы анализировать HTTP-заголовки, и у меня было ощущение, что возникнут дополнительные проблемы с другими конфигурациями веб-сервера.
Заранее спасибо.