标签: networking
与该标签相关的所有文章 "networking".
-
hyper(一):底层 HTTP 实现与 1.0 迁移
hyper 是 Rust 生态中 HTTP/1.1 和 HTTP/2 的底层协议实现, 不是 Web 框架. 1.0 版本做了破坏性重构: 移除内置高层 Server/Client 到 hyper-util, Body 从具体类型变为 trait, 定义了自己的 Service trait (&self 而非 &mut self, 无 poll_ready). hyper 是 axum、reqwest、tonic 的底层引擎.
-
Go 网络(一):goroutine-per-connection 模型与生产实践
Go 的网络编程模型是 goroutine-per-connection:每个连接一个 goroutine,写同步阻塞风格的代码,runtime 的 netpoller 在底层用 epoll/kqueue 实现异步 I/O。关键在于超时管理(Deadline 是绝对时间不是超时)和连接池配置(MaxIdleConnsPerHost 默认 2 是生产环境的坑)。
-
asio(一):Proactor模式-为什么Asio不用Reactor
Proactor 模式以「操作完成通知」为核心,恰好是 Windows IOCP 的原生语义;而 Linux epoll/macOS kqueue 是 Reactor(就绪通知),可以在其上模拟 Proactor。反过来在 IOCP 上模拟 Reactor 极其别扭。Asio 选 Proactor 作为公共 API,是唯一能同时高效映射所有主流操作系统的选择。