0
謎語我:我使用的是NSURLConnection的的iPhone模擬器SDK 3.1.2對象上發出多個連續的(不兼)HTTPS請求。一切正常,95%的時間,但每隔一段時間(也許50-100左右的請求)我得到其中的委託方法NSURLConnection的成功,沒有HTTP響應
- (void)connectionDidFinishLoading:(NSURLConnection *)connection;
被稱爲後局勢[連接開始],但沒有任何電話代表方法
- (void)connection:(NSURLConnection *)connection didReceiveResponse:(NSURLResponse *)response
我已將問題簡化爲下面的來源。據我所知,這打破了NSURLConnection定義行爲的契約。有沒有其他人有這個問題,這是一個已知的錯誤,或者我使用NSURLConnection錯誤?
static BOOL hasSeenResponse = NO;
//Create a NSURLConnection and start it
-(void) begin {
NSURL* url = [NSURL [email protected]"https://some.domain.com/some/path/?some=query"];
[[NSHTTPCookieStorage sharedHTTPCookieStorage] setCookieAcceptPolicy:NSHTTPCookieAcceptPolicyNever];
NSURLRequest* request = [NSURLRequest requestWithURL:url];
if ([NSURLConnection canHandleRequest:request]) {
NSURLConnection* connection = [[NSURLConnection connectionWithRequest:request delegate:self] retain];
hasSeenResponse = NO;
[connection start];
}
}
#pragma mark NSURLConnection Delegate Methods
- (void)connectionDidFinishLoading:(NSURLConnection *)connection {
if (!hasSeenResponse) {
NSLog(@"\n\nNo Response Recieved\n");
}
[connection release];
[self begin];
}
- (void)connection:(NSURLConnection *)connection didFailWithError:(NSError *)error {
[connection release];
[self begin];
}
- (void)connection:(NSURLConnection *)connection didReceiveResponse:(NSURLResponse *)response {
hasSeenResponse = YES;
}
- (void)connection:(NSURLConnection *)connection didReceiveData:(NSData *)data {
}