最佳答案
我的测试应用程序出现了一些奇怪的行为。我有大约50个同时发送到同一服务器的 GET 请求。服务器是一个嵌入式服务器,位于一个资源非常有限的小型硬件上。为了优化每个请求的性能,我配置了 Alamofire.Manager
的一个实例如下:
let configuration = NSURLSessionConfiguration.defaultSessionConfiguration()
configuration.HTTPMaximumConnectionsPerHost = 2
configuration.timeoutIntervalForRequest = 30
let manager = Alamofire.Manager(configuration: configuration)
当我使用 manager.request(...)
发送请求时,它们以2对的形式发送(正如预期的那样,使用 Charles HTTP Proxy 检查)。然而,奇怪的是,所有在第一个请求后30秒内没有完成的请求,都会因为同时超时而被取消(即使它们还没有被发送)。下面是一幅展示这种行为的插图:
这是一种预期的行为吗? 我如何确保请求在发送之前不会超时?
非常感谢!