3g'网络连接丢失时NSURLconnection失败'
我有一个使用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
}
我就开始把的NSLog在委托方法。从didReceiveData开始。
-(void) connection:(NSURLConnection *) connection didReceiveData:(NSData *) receiveddata {
if (receiveddata != nil){
[XMLData appendData:receiveddata];
NSLog(@"didReceiveData :receiveddata is:%@", receiveddata);
}
else{
NSLog(@"NO Data:%@");
}
}
我发现了这个问题。这是我的一个愚蠢的错误,与NSURLConnection完全没有关系。 –
好,根据我的代表方法是完美的,我会开始更深入地记录以找到问题以解决问题,很高兴您解决它! – self
@JesseDurham你还记得错误是什么。我有同样的问题,只是无法弄清楚 – PowerMan2015
我们可以看到一些代码吗?你是否正确实施NSURLConnection?所有委托方法?你不需要任何特殊的处理3G连接 – self
据我所知,我已经实施NSURLConnection的方式是正确的。正如我所说,它确实工作,显然不在3G上。 –
@JesseDurham,请你说明你是如何解决上述问题的,因为我在3G网络中遇到同样的问题。在我的情况下,它总是运行超时,并给出错误“请求超时。”请帮我修复它。谢谢 – Meet