共计 835 个字符,预计需要花费 3 分钟才能阅读完成。
先叠个甲,本人第一次在 V2EX 发布主题,而且可能技术不精,代码水平比较低但是还是希望能够尝试学习一下,所以请大家多多包涵,非常感谢!
我正在尝试使用 Rust 语言实现一个利用系统自带的 HTTP 客户端框架的 HTTP 异步请求框架,名字叫做 ALHC(开源)
考虑在 Windows 上使用 WinHTTP 库,在 macOS 上使用 CFNetwork 库,在 Linux 上想动态调用 libcurl(不过还没有开始做这个部分)
而在给 macOS 上编写实现时遇到了问题:
- 请求绝大多数异常缓慢,通常第一个请求结束后就难以继续后续的请求了
- 尝试使用流式发送数据时一旦超出使用
CFStreamCreateBoundPair
创建流的时候传入的容量值(transferBufferSize
)则会卡死而无法继续发送 - 无法以流式数据的方式发送请求(原因如上)
我已经尽力去查询了有关的信息,但是还是没有琢磨清楚,可以看看我找到的各种文档,希望能有所帮助:
- https://developer.apple.com/documentation/cfnetwork?language=objc
- https://developer.apple.com/documentation/corefoundation/1539710-cfstreamcreateboundpair?language=objc
- https://developer.apple.com/library/archive/documentation/Cocoa/Conceptual/Multithreading/RunLoopManagement/RunLoopManagement.html
- https://developer.apple.com/library/archive/documentation/Networking/Conceptual/CFNetwork/Introduction/Introduction.html
如果有大佬能够鼎力相助的话感激不尽!
正文完