CFNetwork HTTP 超时?

发布于 2024-07-23 07:05:05 字数 168 浏览 15 评论 0原文

我正在寻找一种为 CFHTTP 请求添加超时的方法。 似乎应该有 CFHTTPMessageCFReadStream 对象的功能,但我找不到它。 我是否必须在运行循环上滚动自己的计时器或其他东西? (如果是这样,有任何代码吗?)

谢谢!

I am looking for a way to add a timeout to a CFHTTP request. It seems like there should be a feature of the CFHTTPMessage or the CFReadStream object, but I can't find it. Do I have to roll my own timer on the run loop or something? (if so, any code for this?)

Thanks!

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

捶死心动 2024-07-30 07:05:05

试试这个,readStream是你的CFReadStreamRef:

#define _kCFStreamPropertyReadTimeout CFSTR("_kCFStreamPropertyReadTimeout")

double to = 15; // 15s timeout
CFNumberRef num = CFNumberCreate(kCFAllocatorDefault, kCFNumberDoubleType, &to);
CFReadStreamSetProperty(readStream, _kCFStreamPropertyReadTimeout, num);
CFRelease(num);

写入超时常量是_kCFStreamPropertyWriteTimeout

Try this, readStream is your CFReadStreamRef:

#define _kCFStreamPropertyReadTimeout CFSTR("_kCFStreamPropertyReadTimeout")

double to = 15; // 15s timeout
CFNumberRef num = CFNumberCreate(kCFAllocatorDefault, kCFNumberDoubleType, &to);
CFReadStreamSetProperty(readStream, _kCFStreamPropertyReadTimeout, num);
CFRelease(num);

Constant for write timeout is _kCFStreamPropertyWriteTimeout

執念 2024-07-30 07:05:05

我的答案已过时,但我无法删除已接受的答案。

My answer is outdated but I can't delete the accepted answer.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文