我正在寻找一种将超时添加到CFHTTP请求的方法。似乎应该有CFHTTPMessage
或CFReadStream
对象的功能,但我找不到它。我是否必须在运行循环中放置自己的计时器? (如果是这样,这个任何代码?)CFNetwork HTTP超时?
谢谢!
我正在寻找一种将超时添加到CFHTTP请求的方法。似乎应该有CFHTTPMessage
或CFReadStream
对象的功能,但我找不到它。我是否必须在运行循环中放置自己的计时器? (如果是这样,这个任何代码?)CFNetwork HTTP超时?
谢谢!
更新:ASIHTTPRequest已过时,不再维护。我现在要推荐使用内置NSURLConnection的Apple。 NSURLConnection具有非常小的异步API,包含在NSURLRequest
中的大部分功能。你可以指定使用NSURLRequest
是你的超时requestWithURL:cachePolicy:timeoutInterval:
除非你有使用CFHTTPMessage我建议你使用它给你添加的易用性,包括超时更高级别类如ASIHTTPRequest特殊原因。
试试这个,readStream是你CFReadStreamRef:
#define _kCFStreamPropertyReadTimeout CFSTR("_kCFStreamPropertyReadTimeout")
double to = 15; // 15s timeout
CFNumberRef num = CFNumberCreate(kCFAllocatorDefault, kCFNumberDoubleType, &to);
CFReadStreamSetProperty(readStream, _kCFStreamPropertyReadTimeout, num);
CFRelease(num);
恒为写超时是_kCFStreamPropertyWriteTimeout
罗杰,我没看@ ASIHTTPRequest它看上去很不错,但有一件事我需要做的是它不会 - 这是来自CFReadStream对象的流数据。 (我可以添加一个补丁我想......) – sehugg 2009-06-08 09:37:22