跨平台 C/C++ 网络库,提供事件循环以及 TCP/UDP、SSL、HTTP、WebSocket、MQTT、Redis 客户端与服务端支持。
acl-dev/acl
跨平台 C/C++ 网络通信库与服务端框架,内置协程、HTTP、Redis、MQTT 及数据库客户端。
- Star
- 3,106
- Fork
- 947
- 未关闭 Issue
- 40
- 最近提交
- 26天前
这是什么?
Acl(Advanced C/C++ Library)是一个跨平台的网络通信库和服务端编程框架,支持 Linux、Windows、macOS、FreeBSD、Solaris、Android、iOS 和 HarmonyOS。库中内置了 HTTP/HTTPS、WebSocket、SMTP、MQTT、Redis、Memcached、Beanstalk 等协议的实现,并提供 XML、JSON、MIME、Base64 等编解码模块。
协程模块会挂钩系统 IO 接口,使阻塞风格的代码以异步方式运行。服务端框架提供进程、线程、AIO、协程、UDP 以及定时触发等多种服务模板。Redis 客户端支持单机、集群和 pipeline 模式并带有连接池,同时为 MySQL、PostgreSQL 和 SQLite 提供统一的数据库访问接口。
构建方式包括 Make、CMake 和 XMake,Windows 下提供 Visual Studio 工程,macOS/iOS 使用 Xcode,Android 与鸿蒙分别提供 Android Studio 和 DevEco Studio 工程。项目采用 LGPL-2.1 许可证。
核心功能
- 01跨平台 C/C++ 网络编程,支持 TCP、UDP 和 UNIX 域套接字
- 02协程库挂钩系统 IO 接口,并提供共享栈模式
- 03HTTP/1.1 客户端与服务端,服务端接口类似 Java Servlet,支持 Gzip 和 WebSocket
- 04Redis 客户端支持单机、集群和 pipeline 模式,并内置连接池
- 05实现 MQTT 3.1.1 协议,采用流式解析器
- 06为 MySQL、PostgreSQL 和 SQLite 提供统一的数据库接口
适用场景
- 用 C 或 C++ 通过协程构建高并发后端服务
- 在移动端或嵌入式平台上开发 Redis、MQTT 或 HTTP 客户端
- 使用进程、线程或 AIO 服务模型编写网络服务器
- 开发需要统一接口同时访问 MySQL、PostgreSQL 和 SQLite 的数据库应用
快速上手
- 1
按照 README 第 3.1 节的编译指南为你的平台编译 Acl
使用前须知
- 采用 LGPL-2.1 许可证,这是一种弱 Copyleft 许可证,集成到闭源产品中时需要留意合规要求。
- 这是一个规模较大的 C/C++ 框架,模块众多,学习曲线较陡。
收录于专题
标签
常见问题
- acl 是什么?
- 跨平台 C/C++ 网络通信库与服务端框架,内置协程、HTTP、Redis、MQTT 及数据库客户端。 Acl(Advanced C/C++ Library)是一个跨平台的网络通信库和服务端编程框架,支持 Linux、Windows、macOS、FreeBSD、Solaris、Android、iOS 和 HarmonyOS。库中内置了 HTTP/HTTPS、WebSocket、SMTP、MQTT、Redis、Memcached、Beanstalk 等协议的实现,并提供 XML、JSON、MIME、Base64 等编解码模块。
- acl 可以免费使用吗?用的什么许可证?
- acl 以 LGPL-2.1 许可证开源。用于商业产品前,请先确认许可证条款。
- acl 还在维护吗?
- 活跃维护中。acl 最近一次提交是在 2026年10月12日。
- acl 适合用来做什么?
- 用 C 或 C++ 通过协程构建高并发后端服务 在移动端或嵌入式平台上开发 Redis、MQTT 或 HTTP 客户端 使用进程、线程或 AIO 服务模型编写网络服务器 开发需要统一接口同时访问 MySQL、PostgreSQL 和 SQLite 的数据库应用
- acl 怎么安装和运行?
- 按照 README 第 3.1 节的编译指南为你的平台编译 Acl
- 在哪里获取 acl?
- 源代码和安装说明在 GitHub 上:https://github.com/acl-dev/acl
概要由 AI 根据项目 README 生成;GitHub 数据每日更新。
相关项目
面向网络应用的跨平台 C++ 类库,涵盖 HTTP、网络通信、数据库、XML/JSON 和日志等常用功能。
一个跨平台的 C++ 多媒体库,提供窗口、图形、音频和网络功能。
受 Express 启发、基于 fasthttp 构建的 Go 语言 Web 框架,用于开发 REST API 和 Web 服务。
一个轻量的 C++ 基础库,集成 goroutine 风格协程、网络、日志、命令行参数、JSON、单元测试与基准测试。
为 PHP 提供事件驱动网络引擎与协程运行时的扩展,用于构建长驻的 TCP、UDP、HTTP 和 WebSocket 服务。