arknet 是面向客户端与服务端的通用 C++20 header-only 网络库,提供 TCP、UDP、 RUDP、WebSocket、HTTP、TLS,以及原生 MySQL 和 Redis 客户端。端点采用 CRTP 继承与组件组合, 支持 IPv4 和 IPv6,默认依赖 Boost.Asio,也可为支持的能力选择 Standalone Asio。
开始使用
先安装与配置,再构建 第一个客户端与服务端。CMake 接口目标 传递头文件路径、编译设置和依赖;arknet 没有需要构建的二进制库。
功能
| 能力 | 用途 | 从这里开始 |
|---|---|---|
| TCP | 有序字节流与应用自定义消息边界 | TCP |
| UDP | 原生数据报与来源端点 Session | UDP |
| RUDP | 基于 ARQ 与可选 FEC 的可靠、有序 UDP 消息 | RUDP |
| WebSocket / WSS | 完整消息与 HTTP Upgrade | WebSocket |
| HTTP / HTTPS | HTTP/1.1 请求、响应、路由与中间件 | HTTP |
| TLS / mTLS | 加密传输与证书校验 | TLS |
| MySQL | 原生查询、预处理参数、事务与独占连接租约 | MySQL |
| Redis | 二进制安全的 RESP2/RESP3 命令、流水线与独占连接租约 | Redis |
传输指南包含客户端与服务端程序,服务客户端指南介绍查询、命令和连接池。各指南均说明配置、限制与性能。 能力与支持状态列出依赖与计划中的功能。
使用 arknet
测量与开发
性能提供本地测量的吞吐量、RTT、CPU 占用、机器配置 和原始数据。测试记录正确性检查及覆盖范围。
项目包含架构、贡献规范与路线图。HTTP/2、HTTP/3、 named pipe、Unix domain socket 和 RPC 仍为 TODO。 0.2.0 版本新增原生数据库客户端并简化依赖。 部署容量与耐久验证见生产验收。