我正在使用NSURLConnection发送HTTP请求并使用
运行它[[NSURLConnection alloc] initWithRequest:self.request delegate:self];
其中“self.request”是配置的NSMutableURLRequest对象。网络故障并回调
-(void)connection:(NSURLConnection*)connection didFailWithError:(NSError*)error
我想取消请求并将有效负载写入文件以便稍后上传。但是,如果我重新连接得太快,有效负载最终会被静止发送(我稍后会从文件中发送相同的有效负载)。在故障回调中,我尝试使用
[connection cancel];
但http请求仍会在几秒钟内重新连接。这是由于我可以禁用某些重试机制吗?
答案 0 :(得分:0)
来自Apple didFailWithError:
// Once the delegate receives this message, it will receive no further messages for connection.
所以我说你在代码中的其他地方有一个bug。一旦调用该委托消息,连接就完成了,除非您这样做,否则它将永远不会重新启动。
从问题看来,你似乎试图在失败委托方法中取消连接,这是正确的吗?这不应该是必要的,因为连接已经死了。当你说“快速重试”时,我也有点困惑。我没有看到任何“重试”代码,所以如果你也可以发布它会有所帮助。
您可以发布更多代码来帮助诊断问题吗?