最大 # 同时下载与 NSURLSession 无关主机

Posted

技术标签:

【中文标题】最大 # 同时下载与 NSURLSession 无关主机【英文标题】:Maximum # Simultaneous Downloads with NSURLSession Regardless of Host 【发布时间】:2017-07-14 00:21:09 【问题描述】:

我知道NSURLSessionConfiguration 上的HTTPMaximumConnectionsPerHost 选项...但是无论主机如何,ios 都可以处理多少个连接?

我认为这取决于...内核数量...网络接口...以及操作系统的繁忙程度以及其他应用程序的下载量。

找不到任何关于此的提示。

尽管我认为一次期望超过 2 或 3 个是荒谬的..

编辑

假设能够拥有尽可能多的主机和 NSURLSession 实例

【问题讨论】:

【参考方案1】:

你可以设置超过1000。如你所知,Apples的文档没有指定上限。

为了在后台下载大约 2000 个小文件,我将 httpMaximumConnectionsPerHost 设置为 2000,并在 WiFi 下使用 iPhone7+/iOs10.3.1 进行了测试。它没有任何问题。然后,我通过更改测试下载时间 httpMaximumConnectionsPerHost,并意识到增加数量并不一定会购买下载时间。所以,现在,我将其保留为默认值 (=4)。我认为您需要检查您的应用程序(文件数量、大小等)。

【讨论】:

是的,我正在尝试构建一个基于优先级的队列系统,我总是在其中下载一些东西......但在出现关键下载需求时留下开放的即时路径。而且我有能力将负载分配到我真正想要的任意数量的主机上,因为我使用 IP 而不是主机名。 哈哈出于某种原因,我真的不相信它会同时实时下载 4 个不同的文件。但我需要做一些测试!我只是想知道是否有人已经知道..

以上是关于最大 # 同时下载与 NSURLSession 无关主机的主要内容,如果未能解决你的问题,请参考以下文章

iOS NSURLSession 实现网络请求-文件下载-上传-后台下载

iOS NSURLSession 实现网络请求-文件下载-上传-后台下载

NSURLSession 上传任务超时

NSURLSession 下载任务 - 进度条问题

使用带有参数的 NSURLSession (HTTP POST) 下载 PDF

NSURLSession 后台下载不起作用