Skip to content

网络编程

C++作为长期在高性能优先的领域活跃的编程语言,一个重要的主战场就是网络编程(Networking Programming),由于大部分服务器都是Linux(笔者必须强调是大部分,因为仍然有些服务运行在Windows Server上),所以,基于迁移自BSD Socket和随后派生的,著名的epoll机制的学习,并且在这个基础上逐步学习和体验现代的C++网络编程,是我们这个子卷——网络编程种计划的一个核心要点。

目前计划是 Linux First,但是Windows的IOCP仍然重要,我们也会在这一卷的框架彻底完成之后,插入 Windows 提供的异步编程模型。随后,慢慢演进到理解Boost.ASIO的异步抽象(协程正式被支持前一个非常常见的解决方案),和重新看于 C++20 诞生的协程抽象方案,到Boost.Beast, 我们不会遗忘std::execution这一方案。截止到2026年6月底仍然让人兴奋的一个特性。

Linux 地基

后续(进行中)

io_uring(Linux 完成驱动,补全后端巡礼)→ Boost.Asio(同步到异步回调链)→ Asio 执行器 + completion token → C++20 协程 on Asio → Boost.Beast(HTTP/WebSocket)→ std::execution(P2300)展望。配套 Lab:mini Reactor echo server(对抗性验收 + TSan)进行中。

源码阅读层(Boost.Asio / Beast 源码深入)另见 vol9 开源项目阅读

v0.7.1-2-g3718060 · 3718060 · 2026-07-06