2012-11-07 15 views
9

के भीतर एकाधिक अनुरोध शुरू किया जा रहा है मैं HTTP पोस्ट विधि का उपयोग कर रहा हूं और एक तुल्यकालिक अनुरोध शुरू कर रहा हूं। [NSURLConnection sendSynchronousRequest: ..]HTTP पोस्ट - टाइम आउट - टाइमआउट अंतराल

HTTP POST अनुरोधों के लिए, डिफ़ॉल्ट थ्रेड 75 सेकंड पर हो रहा है जैसा कि कई धागे में चर्चा की गई है।

लेकिन उस समय के दौरान 75 सेकंड की अवधि के दौरान, सभी समान पैरामीटर के साथ उठाए गए अनुरोध के लिए हमारे लिए एकाधिक वेब सेवा अनुरोध शुरू किए जा रहे हैं।

कृपया हमें बताएं कि इस एकाधिक अनुरोधों को आरंभ करने के कारण क्या हैं? क्या यह सामान्य रूप से या सिंक्रोनस अनुरोध के कारण HTTP पोस्ट के कारण है?

@iOS नमूना कोड

[body appendData:[[NSString stringWithFormat:@"\r\n--%@--\r\n", boundary] dataUsingEncoding:NSUTF8StringEncoding]]; 
[request setHTTPBody:body]; 
[request addValue:[NSString stringWithFormat:@"%d", body.length] forHTTPHeaderField: @"Content-Length"]; 

[[NSURLCache sharedURLCache] setDiskCapacity:0]; 
[[NSURLCache sharedURLCache] setMemoryCapacity:0]; 

NSURLResponse *response; 
response = nil; 

urlData = [NSURLConnection sendSynchronousRequest:request returningResponse:&response error:&error];    
if(urlData) 
{ 
     NSString *responseString = [[NSString alloc] initWithData:urlData encoding:NSASCIIStringEncoding]; 
     [self parseStringInformation:responseString infoDict:informationDictionary]; 
     //NSLog(@"%@",responseString); 
} 
+0

क्या आप अपने स्रोत का नमूना हिस्सा छोड़ सकते हैं, हो सकता है कि कुछ गड़बड़ हो। मुझे ऐसा व्यवहार कभी नहीं मिला है। – iOS

+0

@iOS – Subi

+0

से ऊपर नमूना कोड जोड़ा गया दिलचस्प है, मैं उन सभी घटनाओं को जांचना और लॉग करना चाहता हूं जो एसिंक्रोनस ट्रांसफर के दौरान दिखाई देंगे, सिस्टम में रीडायरेक्ट के कुछ कारण हो सकते हैं जो एकाधिक अनुरोधों को जन्म देते हैं।बस डिबगिंग के लिए मैं एसिंक्रोन पोस्ट का उपयोग करने और सभी घटनाओं में डाल करने और सिस्टम पक्ष से क्या होता है यह देखने के लिए उन्हें 'NSLog()' के साथ लॉग इन करने की सलाह दूंगा। Afaik सिंक्रोनस मोड में इन घटनाओं को लॉग इन करने के कोई तरीके नहीं हैं। उम्मीद है कि यह मदद करता है, अन्यथा मैं सिर्फ अपने सिस्टम से स्थानांतरण की जांच कर सकता हूं। – iOS

उत्तर

1

सर्वर के अनुरोध-प्रतिक्रिया के बिना लॉग कई संभावनाएं देखते हैं।

प्रोग्रामर त्रुटि: क्या आप पहले से ही "गॉन्च्य" प्रकार की स्थितियों से गुजर चुके हैं? अपने कोड केवल एक बार बुला रहा है सुनिश्चित करने के लिए लाइन:

  • आप अपने पहले प्रवेश संदेश डाल दिया है "... urlData = [NSURLConnection sendSynchronousRequest"?

  • क्या आप इस फ़ंक्शन को अपने मुख्य जीयूआई थ्रेड के भीतर से कॉल कर रहे हैं, अगर आप समर्थित नहीं हैं/अनुशंसित हैं, जिसका अर्थ है कि यह आपके द्वारा वर्णित की तरह दुष्प्रभाव पैदा कर सकता है। https://developer.apple.com/library/mac/#documentation/Cocoa/Reference/Foundation/Classes/NSURLConnection_Class/Reference/Reference.html

  • आप सुनिश्चित करें कि आपके अनुरोध एक पोस्ट के रूप में स्थापित और की तरह उचित हेडर है कर रहे हैं "सामग्री के प्रकार: बहुखण्डीय/फार्म-डेटा, सीमा = एक्स"

वेब सर्वर प्रतिक्रियाएँ : वेब सर्वर लॉग (या आपके पोस्टिंग के लिए कोड के लिए कोड) के बिना यह कहना मुश्किल है ...

API त्रुटि: आप कुछ कोने मामले में जो अवांछित दुष्प्रभाव उत्पन्न कर रहा है मिल गया है। शायद सेब में एक बग ट्रैकर या डेवलपर समर्थन मंच है?

संबंधित मुद्दे