我的 iOS 应用程序使用 php 脚本向数据库发出请求,并发送回一些数据。数据库命中非常简单,只是根据唯一键获取一些数据。
它在 wifi 上运行良好(延迟不到一秒),但在 3g 上运行缓慢到无法使用的地步。谁能告诉我可能是什么原因,或者我可以在哪里探索更多?我想像 facebook 或 googlemaps 这样的应用程序比我正在做的数据密集得多,但它们的响应速度似乎要快得多。我可能向服务器发送不超过 20-30 个字符(加上 JSON 添加的任何开销),并返回 ~500-1000 个字符(加上 JSON 添加的任何开销)。
我正在同步发送东西,但我认为异步不会对我有帮助......数据不会出现,直到我收到消息。
我的发送和接收代码是:
+ (id)queryDBJSON:(NSString*)script inputs:(id)post
{
NSError *error;
NSData *jsonPayload = [NSJSONSerialization dataWithJSONObject:post options:NSJSONWritingPrettyPrinted error:&error];
NSURL *url = [NSURL URLWithString:[NSString stringWithFormat:@"%@", script]];
NSMutableURLRequest *theRequest = [NSMutableURLRequest requestWithURL:url];
[theRequest setHTTPMethod:@"POST"];
[theRequest setHTTPBody:jsonPayload];
NSHTTPURLResponse* urlResponse = nil;
NSData *responseData = [NSURLConnection sendSynchronousRequest:theRequest returningResponse:&urlResponse error:&error];
if ([urlResponse statusCode] != 200)
{
return nil;
}
NSString *strResult = [[NSString alloc] initWithData:responseData encoding:NSUTF8StringEncoding];
NSData *jsonData = [strResult dataUsingEncoding:NSUTF8StringEncoding];
id aa = [NSJSONSerialization JSONObjectWithData:jsonData options:NSJSONReadingMutableContainers error:&error];
return aa;
}
感谢您的任何投入!