Skip to content

arknet

查看 Markdown

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

  • 核心概念:端点、IO 模型、生命周期与发送所有权。
  • 使用指南:缓冲、外部 IO、重连、定时器、路由与 IPv6。
  • 示例:完整程序与构建命令。
  • 参考:公开类型、常用操作与配置项。

测量与开发

性能提供本地测量的吞吐量、RTT、CPU 占用、机器配置 和原始数据。测试记录正确性检查及覆盖范围。

项目包含架构、贡献规范与路线图。HTTP/2、HTTP/3、 named pipe、Unix domain socket 和 RPC 仍为 TODO。 0.2.0 版本新增原生数据库客户端并简化依赖。 部署容量与耐久验证见生产验收。

源码 · BSL-1.0 · 第三方声明

接下来

Navigation

Type to search…

↑↓ navigate↵ selectEsc close