我的项目正在使用AFNetworking.
https://github.com/AFNetworking/AFNetworking
如何拨打超时?在没有互联网连接的情况下,故障块不会触发约2分钟的感觉.等到很久......
我有以下问题.在NSMutableURLRequest使用该HTTP方法POST时,将忽略为连接设置的超时间隔.如果互联网连接有问题(错误的代理,坏的DNS),网址请求在大约2-4分钟后失败,但没有 NSLocalizedDescription = "timed out";
NSUnderlyingError = Error Domain=kCFErrorDomainCFNetwork Code=-1001 UserInfo=0x139580 "The request timed out.
Run Code Online (Sandbox Code Playgroud)
如果使用的http方法是GET它工作正常.连接async结束了https.
NSURL *url = [NSURL URLWithString:urlString];
NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:url];
[request setTimeoutInterval:10];
//Set the request method to post
[request setHTTPMethod:@"POST"];
if (body != nil) {
[request setHTTPBody:body];
}
// Add general parameters to the request
if (authorization){
[request addValue: authorization forHTTPHeaderField:@"Authorization"];
}
[request addValue: WS_HOST forHTTPHeaderField:@"Host"];
[request addValue:@"text/xml" forHTTPHeaderField:@"Content-Type"];
[[NSURLCache …Run Code Online (Sandbox Code Playgroud) 我即将开发一个iPad应用程序,它有大量的后台线程网络调用.
我想知道哪一个更好?ASIHTTPRequest仍然有效,但没有维护.然而,很少有消息称AFNetworking框架会产生许多复杂情况.
尽管Apple的文档另有说明,但NSURLCache在iOS上根本不进行任何磁盘(闪存)缓存.您可以子类化NSURLCache以更改获取和存储操作的行为以使用磁盘(如同SDURLCache),但由于以下严格限制了缓存的使用和实现方式,这不会像您期望的那样好用:
NSURLConnection甚至没有调用storeCachedResponse:forRequest:大约50KB的文件(确切地说> = 52428字节).这使得子类NSURLCache对我们的使用毫无意义(200KB图像),因为它甚至不会进入缓存.因此,我们必须在上面的级别手动添加缓存NSURLConnection.storeCachedResponse:forRequest:手动调用NSURLCache的内置函数,它也只会将响应存储在内存中,如果它小于大约180KB.我通过手动调用storeCachedResponse测试了这一点,并且发现currentMemoryUsage对于大约180KB以上的数据长度,之前/之后没有改变.所以我们也必须编写自己的LRU内存缓存.有没有人注意到这些问题?还是有什么我想念的?
仅供参考,我在模拟器和iPad 2上运行iOS 4.3.
ios ×4
objective-c ×4
afnetworking ×2
caching ×1
iphone ×1
networking ×1
nsurlcache ×1
post ×1
xcode ×1