NSURLConnection失败,错误代码为-1001,-1005,1004,NSPOSIXErrorDomain Code = 2

时间:2014-12-19 07:49:23

标签: ios nsurlconnection

我们有更多的设备(200+)连接到网络与服务器通信,通常连接失败并且没有重新连接,如我所提到的错误中的问题所述。

我们用来发送请求的代码是

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和iOS 7中。 8.我经历了一些类似的帖子,但我无法得到确切的理由以及这些问题的解决方案。帮帮我们。

2 个答案:

答案 0 :(得分:4)

“我经历了一些类似的帖子,但我无法得到确切的原因,并且解决了这些问题。请帮助我们。”

您获得的错误原因。具体来说,NSURLErrorDomain中的代码-1001,-1005和-1004超时,网络连接丢失,无法连接到主机。您可以在NSURLErrors.h标头中查找这些错误代码。这些都是您的网络连接问题。

您发布的代码没有重新连接的逻辑,这就是为什么它不会尝试这样做。

答案 1 :(得分:0)

就像@quellish所说的那样,这些错误告诉您发生了什么。我用Google搜索了一千次来研究像-1004这样的代码。但是在本地找到它们更简单...

XCode / Window / Developer Documentation / URL Loading System Error Codes

enter image description here