网络连接丢失(错误代码-1005)

3

我正在使用AFHTTPRequestOperationManager制作我的应用程序并进行POST请求。

我有4个网址,它们都可以正常与服务器通信,它们的格式、用法等都非常相似。因此,我将它们编码为相同的方式。实际上,我只有一个if语句来确定我将使用哪个网址进行相同的方法,所以每次我使用POST请求任何网址时,我都使用相同的网址。

对于其中的3个,它们完全正常工作,但是第4个无论我如何使用它,它总是会出现“Domain=NSURLErrorDomain Code=-1005”网络连接丢失”的错误。

我在我的服务器上测试了这个网址,它可以正常工作。服务器没有问题,但是AFNetworking不会发送此请求。如果它是真正的DC,那么我的其他URL仍然可以正常工作吗?

我在IOS8 beta2上运行此应用程序,我不知道beta是否会导致问题?(我怀疑)请帮忙...

示例代码:

#define SERVER_URL  @"http://54.187.63.214/"
#define SERVER_LIKE_URL @"candidate_likeJob/"
#define SERVER_DISLIKE_URL @"candidate_dislikeJob/"

- (void) likeOrSkipJob:(BOOL)isLike{
        UserSetting *setting = [UserSetting getSetting];
        UFCompany *matchedCompany = [matchedCompanies lastObject];
        UFJob *matchJob = [matchedCompany.jobs firstObject];
        NSLog(@"like job : %@", matchJob.position);

        AFHTTPRequestOperationManager *manager = [[AFHTTPRequestOperationManager alloc] init];

        NSString *likeURL = [NSString stringWithFormat:@"%@%@",SERVER_URL,isLike? SERVER_LIKE_URL: SERVER_DISLIKE_URL];
        NSDictionary *params = [[NSDictionary alloc] initWithObjectsAndKeys: setting.ufind_id, @"candidate_id", matchJob.job_id, @"job_id", nil];
        NSLog(@"Request URL: %@ with params %@", likeURL, params);

        [manager POST:likeURL parameters:params success:^(AFHTTPRequestOperation *operation,  NSDictionary *response) {
            NSString *status = [response objectForKey:@"status"];

            //if server tell status ok
            if ([status isEqualToString:@"ok"]) {
                NSLog(@"%@ job success", isLike? @"Like":@"Dislike");

                //update the work if like succeed
                [matchedCompanies removeLastObject];
                [self updateMatchScreen];
            }

        } failure:^(AFHTTPRequestOperation *operation, NSError *error) {
            NSLog(@"like request failed %@", error);
        }];

    }

服务器类似的 URL 会生成 -1005 "连接丢失" 错误,但服务器不喜欢的 URL 总是能够正常工作。

你能分享一下URL吗?我可以用我经过充分测试的方法来验证它是否有效。 - Mike
1
你有解决方案吗?我在iOS 8上遇到了同样的问题。 - Darren
重置您的iOS模拟器内容和设置,在iOS模拟器上重新编译并运行应用程序 - Mehdi Badjian
我想知道这是否与我在年初遇到的一个错误相关 - 有一些由苹果发布的示例代码叫做Reachability,许多 iOS 上的网络库使用它来确定网络地址是否可达。去年相对较晚时,一个未公开的修复程序被放置在某个地方(苹果不会承认在哪里),影响了所有的 iOS 版本。听起来很愚蠢,但你能否尝试从 URL 中删除协议,只让它读取 "54.187.63.214/"? - David Doyle
4个回答

3

重置iOS模拟器的内容和设置,重新编译并在iOS模拟器上运行应用程序。


1

对我来说,重新启动模拟器并清除并构建修复了这个问题。


0

我在使用Xcode 6.2运行地图应用程序时遇到了相同的错误消息(无法加载地图),重置模拟器等操作都没有解决问题。然而,当我关闭了防病毒软件和网络威胁检测器后,地图立即加载且没有出现错误消息。然后我重新打开了防病毒软件和网络威胁检测器,应用程序在模拟器上正常工作并成功加载了地图,尽管仍然会出现错误消息,但在两个错误消息之后地图就成功加载了。因此,看起来防病毒软件和网络威胁检测器将模拟器的互联网连接请求视为威胁。


0
尝试将请求同步执行(一个接一个)。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接