【问题标题】:iOS background download not respecting httpMaximumConnectionsPerHostiOS后台下载不尊重httpMaximumConnectionsPerHost
【发布时间】:2021-03-03 03:13:20
【问题描述】:

我使用的是 iOS 14.2... 我有一个这样配置的 URLSession:

private lazy var backgroundURLSession: URLSession = {
    let config = URLSessionConfiguration.background(withIdentifier: "background-download")
    
    config.sessionSendsLaunchEvents = true
    config.httpMaximumConnectionsPerHost = 2
    config.timeoutIntervalForRequest = 120
    
    return URLSession(configuration: config, delegate: self, delegateQueue: nil)
}()

我给它提供了 100 个 URL 来下载

    let downloadTask = session.downloadTask(with: offlineTile.url)
    downloadTask.resume()

即使使用httpMaximumConnectionsPerHost = 2,服务器也会一次获得所有请求... ?!? 我可能做错了什么

另一个注意事项:我们在后台有一个 Varnish 缓存...并注意到如果 Varnish 设置为管道(无缓存),行为会有所不同

【问题讨论】:

    标签: ios swift nsurlsession urlsession nsurlsessiondownloadtask


    【解决方案1】:

    在我们的例子中,是我们服务器的负载均衡器没有正确终止它的 https 终止,这导致 iOS 基本上一次发送所有请求。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-06-02
      • 1970-01-01
      • 2020-05-12
      • 2014-05-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-06-26
      相关资源
      最近更新 更多