我想增加Swift中每个主机的最大并发连接数,默认情况下在iOS中限制为4个。
我正在使用 Alamofire 。
我见过用Obj-C编写的库告诉他们每个主机同时使用4个以上的连接,但是我没有编写Obj-C来知道它是否真实。 Library on Github
是否存在每个主机使用更多并发连接的解决方案?
Apple说这个限制是每个会话,所以这个限制可以 超过每个应用程序使用多个会话
如何实现?
*我已经通过 Charles 测试了我的互联网速度和服务器响应,它是250 Req /秒,当在模拟器中使用上述方法时,它是22 Req /秒。
答案 0 :(得分:0)
这似乎是the solution:
let configuration = NSURLSessionConfiguration.defaultSessionConfiguration()
configuration.HTTPMaximumConnectionsPerHost = 50
configuration.timeoutIntervalForRequest = 30
let manager = Alamofire.Manager(configuration: configuration)
请记住,除非框架使用异步IO(并且我不认为NSURLSession会这样做),否则您受到处理器中核心数量的限制,即您可以同时执行多少个线程。我上面链接的答案建议将请求包装在NSOperation
中,以便您可以使用NSOperationQueue
更精细地管理并发。