我有一個使用NSURLconnection的應用程序,當使用3G時出現錯誤「網絡連接丟失」似乎一直無法與Web服務通信。但是,該應用程序運行無線網絡很好。3g'網絡連接丟失時NSURLconnection失敗'
任何想法可能是什麼問題?我需要使用NSURLconnection來處理3G嗎?
我使用的一個NSURL代碼示例。
NSURLConnection *conn = [[NSURLConnection alloc] initWithRequest:req delegate:self];
if (conn) {
XMLData = [NSMutableData data];
}
委託方法
-(void) connection:(NSURLConnection *) connection
didReceiveResponse:(NSURLResponse *) response {
[XMLData setLength: 0];
}
-(void) connection:(NSURLConnection *) connection
didReceiveData:(NSData *) receiveddata {
[XMLData appendData:receiveddata];
}
-(void) connection:(NSURLConnection *) connection
didFailWithError:(NSError *) error {
self.errorLabel.text = [error localizedDescription];
}
-(void) connectionDidFinishLoading:(NSURLConnection *) connection {
NSLog(@"DONE. Received Bytes: %d", [XMLData length]);
NSString *theXML = [[NSString alloc]
initWithBytes: [XMLData mutableBytes]
length:[XMLData length]
encoding:NSUTF8StringEncoding];
//i do some xml parsing on the data returned
}
我們可以看到一些代碼嗎?你是否正確實施NSURLConnection?所有委託方法?你不需要任何特殊的處理3G連接 – self
據我所知,我已經實施NSURLConnection的方式是正確的。正如我所說,它確實工作,顯然不在3G上。 –
@JesseDurham,請你說明你是如何解決上述問題的,因爲我在3G網絡中遇到同樣的問題。在我的情況下,它總是運行超時,並給出錯誤「請求超時。」請幫我修復它。謝謝 – Meet