views:

137

answers:

3

Does anybody know how expensive a tcp connection is on iPhone? For example, if I have to download 8-10 small files (2-6 kB) from a web server does it make sense to create 8-10 NSConnection requests or would be better to make one request to download 8-10 files at once (supposing that server supports such kind of requests)?

+1  A: 

If you are talking about HTTP and server supports HTTP keep-alive I'd prefer to use one connection object.

Anyway you can test both solutions and let us know the results :)

Dmytro
+1  A: 

Not to sure about how expensive the operation is ...

Personally though, I would recommend using ASIHTTP. This is a wrapper class designed for handling situations like this marvelously. It even has a queue which can queue up all your API calls, fire then asynchronously in separate threads and even monitor the progress of each.

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

dpigera
Thanks a lot. I'll take a look and share tests results if I have any.
Dmytro
+1  A: 

I have performed the following test. I've started a simple web server which is able to handle only two types of requests:

  • return an image by number (8 images in total)
  • return all images packed to one file

Then I've written simple iPhone application which requested 8 images - one image per request and 8 images per request as one file.

The results were quite unexpected for me because average time for one image when I requested all images as one file was 5-7 times faster than when requested separately.

Dmytro