2017-04-14 217 views
1

我想增加Swift中每個主機的最大併發連接數,iOS中默認限制爲4個。我正在使用Alamofire每個主機Alamofire的最大併發Http連接數?

  • 我試圖增加HTTPMaximumConcurrentPerHost到50
  • 我在環法仍然是有限的審判。
  • 還嘗試將url請求包裝到操作隊列中,並且仍然限制連接。

我看過的寫的OBJ-C庫告訴他們使用的每臺主機同時超過4個連接,但我不計劃對象 - 要知道,如果它是真的還是假的。 Library on Github

有沒有解決方案,每個主機使用更多的併發連接?

蘋果表示,這一限制是每個會話,所以這個限制可以在每整個應用

如何能夠實現使用多個會話 突破?

*我已經測試我的互聯網速度和服務器響應查爾斯,它是250的請求/第二,在模擬器使用上述方法時,它是22所需物品/秒。

回答

0

這似乎是the solution

let configuration = NSURLSessionConfiguration.defaultSessionConfiguration() 
configuration.HTTPMaximumConnectionsPerHost = 50 
configuration.timeoutIntervalForRequest = 30 
let manager = Alamofire.Manager(configuration: configuration) 

記住,除非框架使用了異步IO(我不認爲NSURLSession一樣),你是通過內核的數量限制處理器可以同時執行多少個線程。我上面鏈接的答案建議將請求包裝在NSOperation中,以便您可以使用NSOperationQueue更細化地管理併發性。