最大化同时http下载的数量

Wou*_*bie 13 objective-c ios

我试图尽可能多地同时执行http下载IPad2(ios6.0).这纯粹用于测试此设备上可能的内容.甚至对GUI性能不感兴趣(如果没有响应则不重要)

我创建了一个特殊的HTTP服务器,它向客户端发送x分钟数据.收到的数据并不重要.我只测量了多少并发下载的速度.我已经实现了两种不同的方式来调度12个HTTP请求.

的NSOperation

一个是通过在队列中使用NSOperation对象并在12上设置NSOperationQueueDefaultMaxConcurrentOperationCount来完成的

NSThread

第二种实现方式是创建12个执行同步http请求的NSThread.

请求全部发送到相同的目标IP.

意见

我观察到的是,在这两种情况下,第6到第12个请求都得到一个TimeOut(错误代码-1001).如果1将超时值设置为80.0秒,我看到第1次完成后第6次下载开始.

问题

  • IOS中有多少并发下载限制?
  • 还有其他方法可以执行这些并发下载吗?
  • 有没有办法将线程绑定到核心(以便它不会得到中断,如C++中的cpuaffinity)或线程优先级

gra*_*ver 18

您最多可以同时连接5个同一服务器.这是iOS固定限制,可能是因为某些http协议限制.你可以在这里阅读更多信息.

  • 从iOS 7开始,这已经减少到4个并发连接.我知道没有Apple链接,但是[这里有一些代码可以用来测试限制](http://blog.lightstreamer.com/2013/ 01 /在-IOS-URL连接-并行性and.html?M = 1). (3认同)