0
我遇到了NSURLConnection的一個非常奇怪的問題。我有一個控制器,使用下面的函數使得viewDidLoad方法三種異步GET請求:在連續使用三個NSURLConnections導致第三個電話掛起
+ (void)connectAsyncWithURL:(NSURL *)url httpMethod:(NSString *)httpMethod delegate:(id <NSURLConnectionDelegate>)delegate timeout:(NSTimeInterval)timeout
{
NSMutableURLRequest *request = [[NSMutableURLRequest alloc] initWithURL:url cachePolicy:NSURLRequestReloadIgnoringLocalCacheData timeoutInterval:timeout];
[request setHTTPMethod:httpMethod];
[NSURLConnection connectionWithRequest:request delegate:delegate];
}
如預期前兩個連接工作。然而,第三種情況一直持續到超時發生。在失敗後重新嘗試將導致呼叫成功。似乎並不重要,請求的順序是什麼 - 它總是最後一次失敗的那個順序。我擁有正在進行請求的服務器,並且觀察傳入的網絡流量會顯示前兩個請求,但第三個NSURLConnection不會出現在第一個超時之前。更奇怪的是,在發生超時之後,如果我離開控制器並再次返回,則在重新啓動應用程序之前,問題不再可重現。
有沒有人有任何想法可能會導致此?
謝謝,這似乎是問題。它看起來像IIS有每個客戶端5個併發連接的限制。在導航到此控制器之前,我有一些其他連接正在觸發。 – lehn0058 2013-04-05 20:44:56