php接口 ios 网络错误代码,php - iOS8 HTTP Post网络连接丢失错误 - 堆栈内存溢出

我在iPhone 6上使用Xcode 6.1.1,iOS8.1进行测试。

基本上,我使用Core Data来存储数据, NSMutableURLRequest将HTTP Post请求发送到服务器上的PHP ,然后插入MySQL 。

NSMutableURLRequest *newRequest = [[NSMutableURLRequest alloc] initWithURL:[NSURL URLWithString:urlString]];

NSManagedObjectContext *context = [self managedObjectContext];

NSFetchRequest *allData = [[NSFetchRequest alloc] init];

[allData setEntity:[NSEntityDescription entityForName:@"DataStorage" inManagedObjectContext:context]];

[allData setIncludesPropertyValues:NO];

// Get Core Data

NSError * error = nil;

NSArray * data = [context executeFetchRequest:allData error:&error];

// For all data in this entity

for (DataStorage * dt in data) {

// Only sample content here

NSString *postContent = [NSString stringWithFormat:@"id=%@&time=%@&",dt.id,dt.time];

NSData *postData = [postContent dataUsingEncoding:NSASCIIStringEncoding allowLossyConversion:YES];

NSString *postLength = [NSString stringWithFormat:@"%lu", (unsigned long)[postData length]];

[newRequest setHTTPMethod:@"POST"];

[newRequest setValue:postLength forHTTPHeaderField:@"Content-Length"];

[newRequest setValue:@"application/x-www-form-urlencoded" forHTTPHeaderField:@"Content-Type"];

[newRequest setHTTPBody:postData];

NSError *error;

NSData *returnData = [NSURLConnection sendSynchronousRequest:newRequest returningResponse:nil error:&error];

if (returnData)

{

NSString *json=[[NSString alloc] initWithData:returnData encoding:NSUTF8StringEncoding];

NSLog(@"Resp string: %@",json);

if (_deleteLocalSwitch.on) {

[context deleteObject:dt];

}

}

else

{

NSLog(@"Error: %@", error);

break;

}

}

我使用在线发现的标准http post方法(如上所示),如果我只发送几个条目(<20),这种方法非常有效 。 但是在请求数量增加(> 50个核心数据条目)之后,我在确切的 39个成功请求之后得到了错误:

错误:错误域= NSURLErrorDomain代码= -1005“网络连接丢失。” UserInfo = 0x7fd8b0c86140 {NSUnderlyingError = 0x7fd8b0c824e0“网络连接丢失。”,NSErrorFailingURLStringKey = xxxx.php,NSErrorFailingURLKey = xxxx.php,_kCFStreamErrorDomainKey = 4,_kCFStreamErrorCodeKey = -4,NSLocalizedDescription =网络连接丢失。}

我不知道为什么会发生这种错误。 猜测是由服务器端或iOS上的某种超时引起的。

我知道我可以尝试建立一个XML包括所有数据和发送XML到服务器,它可以解决这个问题。 但是,最好知道为什么会发生这种情况,并且还会在改变大量代码时挽救我的生命。

注意:这不是 Xcode / iOS模拟器错误的问题,可以在其他帖子中找到。 我得到了同样的错误,而我在测试上都 iPhone6和模拟器的应用程序。 我也得到了同样的错误,而我是既测试localhost与在线服务器。

感谢您阅读这个长期的问题!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值