我正在寻找一种向 CFHTTP 请求添加超时的方法。似乎应该有CFHTTPMessage
或CFReadStream
对象的特征,但我找不到。我必须在运行循环上滚动自己的计时器吗?(如果是这样,有任何代码吗?)
谢谢!
我正在寻找一种向 CFHTTP 请求添加超时的方法。似乎应该有CFHTTPMessage
或CFReadStream
对象的特征,但我找不到。我必须在运行循环上滚动自己的计时器吗?(如果是这样,有任何代码吗?)
谢谢!
试试这个,readStream 是你的 CFReadStreamRef:
#define _kCFStreamPropertyReadTimeout CFSTR("_kCFStreamPropertyReadTimeout")
double to = 15; // 15s timeout
CFNumberRef num = CFNumberCreate(kCFAllocatorDefault, kCFNumberDoubleType, &to);
CFReadStreamSetProperty(readStream, _kCFStreamPropertyReadTimeout, num);
CFRelease(num);
写入超时的常量是 _kCFStreamPropertyWriteTimeout
我的答案已过时,但我无法删除已接受的答案。