Стоимость создания нового NSConnection на iPhone

Кто-нибудь знает, как дорого TCP-соединение на iPhone? Например, если мне нужно загрузить 8-10 небольших файлов (2-6 кБ) с веб-сервера, имеет ли смысл создавать 8-10 запросов NSConnection или было бы лучше сделать один запрос на загрузку 8-10 файлов одновременно (предположим, что сервер поддерживает такие запросы)?

3 ответа

Не уверен, насколько дорогая операция...

Лично я бы порекомендовал использовать ASIHTTP. Это класс-оболочка, предназначенный для чудесной обработки подобных ситуаций. У него даже есть очередь, которая может ставить в очередь все ваши вызовы API, затем запускать их асинхронно в отдельных потоках и даже отслеживать ход выполнения каждого из них.

http://allseeing-i.com/ASIHTTPRequest/

Если вы говорите об HTTP и сервер поддерживает HTTP keep-alive, я бы предпочел использовать один объект подключения.

В любом случае вы можете протестировать оба решения и сообщить нам результаты:)

Я выполнил следующий тест. Я запустил простой веб-сервер, который может обрабатывать только два типа запросов:

  • вернуть изображение по номеру (всего 8 изображений)
  • вернуть все изображения, упакованные в один файл

Затем я написал простое приложение для iPhone, которое запрашивало 8 изображений - одно изображение на запрос и 8 изображений на запрос как один файл.

Результаты были для меня довольно неожиданными, потому что среднее время для одного изображения, когда я запрашивал все изображения одним файлом, было в 5-7 раз быстрее, чем при отдельном запросе.

Другие вопросы по тегам