これまでにこの問題が発生したことはありませんが、サーバーからデータを要求すると (約 10% の時間)、応答を受信せず (ヘッダーでさえも!)、要求がタイムアウトすることがあります。私はnetworkQueueを使用していますが、そのように設定されています
//when initializing
networkQueue = [[ASINetworkQueue queue] retain];
networkQueue.maxConcurrentOperationCount = 5;
networkQueue.delegate = self;
networkQueue.requestDidReceiveResponseHeadersSelector = @selector(request:DidReceiveHeaders:);
networkQueue.requestDidFinishSelector = @selector(NetworkQueueRouter:);
networkQueue.requestDidFailSelector = @selector(requestDidFail:);
そして、このメソッドでリクエストを初期化します
-(void)sendRequest:(NSURL *)url withParams:(NSDictionary *)params andUserInfo:(NSDictionary *)info{
ASIFormDataRequest *request = [ASIFormDataRequest requestWithURL:url];
request.delegate = self;
NSString *jsonString = [params yajl_JSONString];
[request setPostValue:jsonString forKey:@"json"];
request.timeOutSeconds = 30;
if (info != nil) request.userInfo = info;
[networkQueue addOperation:request];
[networkQueue go];
}
この問題は、iPhone または iPhone シミュレーターを使用している場合にのみ発生します。リクエストに永遠に時間がかかっているときに、同じリクエストでブラウザをチェックすると、iPhone がまだリクエストしている間にブラウザからすぐに応答が返ってくることがあります。
誰もこれを経験したことがありますか?