NSURLConnection失败,错误代码为-1001,-1005,1004,并且NSPOSIXErrorDomain代码为2
问题描述:
我们有更多数量的设备连接到网络与服务器通信,通常连接失败并且不会重新连接,如上所述问题我得到提到的错误。NSURLConnection失败,错误代码为-1001,-1005,1004,并且NSPOSIXErrorDomain代码为2
我们用它来发送请求的代码是
dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{
NSURL *url=[NSURL URLWithString:[NSString stringWithFormat:@"http://ipaddress"];
NSMutableURLRequest *menuRequest=[[NSMutableURLRequest alloc]initWithURL:url];
NSURLResponse *response;
NSError *error=nil;
NSData *data = [NSURLConnection sendSynchronousRequest:menuRequest returningResponse:&response error:&error];
dispatch_async(dispatch_get_main_queue(), ^{
if(!error)
{
NSLog(@"Request Success");
NSXMLParser *xmlParser = [[NSXMLParser alloc] initWithData: data];
[xmlParser setDelegate:self];
[xmlParser parse];
}
else
{
NSLog(@"Failed with error-----%@",error);
}
});
});
该请求被发送的每一分钟。
它只发生在客户端环境中,我们需要从此连接失败中恢复并重新连接(即使服务器启动,下一个请求也不会获得成功)。这发生在iOS 7 &中8.我经历了一些类似但我无法得到确切的原因,并解决了这些问题。帮助我出去的人。
答
“我经历了一些类似的帖子,但我无法得到确切的原因,也没有解决这些问题的解决办法。帮我解决这些问题。”
你得到的错误是的原因。具体而言,NSURLErrorDomain中的代码-1001,-1005和-1004超时,网络连接丢失,并且无法连接到主机。您可以在NSURLErrors.h头文件中查找这些错误代码。这些都是您的网络连接问题。
您发布的代码没有重新连接的逻辑,这就是为什么它不会尝试这样做。
Sry dude我忘了提及这个请求是每隔一分钟发送一次。重新提到的是请求在下次发送时没有成功。我知道错误代码的原因,我需要确切地知道为什么这些错误发生以及如何从它们中恢复。 – vishnuvarthan 2014-12-19 08:25:52
答案告诉你。没有什么可以恢复,除非记录尝试失败,并确保您的应用程序的行为是用户可以接受的。这听起来是你的客户的网络是问题。 – gnasher729 2014-12-19 09:47:43
PS。许多人不会理解被称为“伙计”。特别是女性和男性成年人。 – gnasher729 2014-12-19 09:49:21