2013-03-05 39 views
4

我正在嘗試使用Objective-C構建基於多連接和持續下載模塊。Mac Cocoa應用程序中是否存在NSURLConnection的連接限制?

我設置了一個新的NSThread來處理NSURLConnection的事件(比如connection:didReceivedData :)。但是我發現我的下載速度並不比我在PC上的測試速度快。

當我找到模塊的一些信息時,發現只有6個連接從服務器接收到數據,即使我開始了60個連接。

我的Windows PC上測試後,我發現它的連接數是遠遠超過大6

所以我寫了另外一個測試應用程序來測試自己是否可以設立在其他應用中的一些連接我的下載模塊在運行時。

我編程在主線程中創建100個連接,在後臺線程中創建100個連接,使用[[NSRunLoop currentLoop] run];阻止線程退出,存儲數據到達共享NSMutableSet的連接,使用鎖來避免資源衝突,每秒都會拋出這個可變集。

然後我發現在可變集中仍然有6個活連接(有數據到達)。

所以我相信Mac/Cocoa每單進程NSURLConnection的數量是有限制的。

我想知道如何使限制更大,如20或其他?

非常感謝提前。

+0

我遇到同樣的問題。我讀了關於阻止http://konrness.com/php5/how-to-prevent-blocking-php-requests/的php會話,但對我來說情況並非如此。我的腳本只休眠2秒鐘然後退出。 – joels 2013-04-15 21:01:28

+0

你見過這個? http://stackoverflow.com/questions/10853852/maximum-number-of-concurrent-nsurlconnections-to-the-same-host – Volker 2014-02-12 18:49:28

回答

相關問題