Кроссплатформенная сетевая библиотека C/C++ с циклом событий и поддержкой TCP/UDP, SSL, HTTP, WebSocket, MQTT и клиентской и серверной частей Redis.
acl-dev/acl
Кроссплатформенная сетевая библиотека и серверный фреймворк на C/C++ с корутинами, поддержкой HTTP, Redis, MQTT и клиентов баз данных.
- Звёзды
- 3,106
- Форки
- 947
- Открытые issues
- 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.
В библиотеке есть модуль корутин, который перехватывает системные API ввода-вывода и позволяет выполнять асинхронно код в стиле с блокирующими вызовами, а также серверный фреймворк с шаблонами сервисов на основе процессов, потоков, AIO, корутин, UDP и триггеров по расписанию. Клиент Redis поддерживает автономный режим, кластерный режим и конвейерную обработку запросов с пулом соединений; единый интерфейс работы с базами данных охватывает MySQL, PostgreSQL и SQLite.
Для сборки можно использовать Make, CMake и XMake; для Windows доступны проекты Visual Studio, а для мобильных платформ — проекты Xcode, Android Studio и DevEco Studio. Проект распространяется по лицензии LGPL-2.1.
Ключевые возможности
- 01Кроссплатформенная сетевая библиотека на C/C++ с поддержкой TCP, UDP и UNIX-сокетов
- 02Библиотека корутин, перехватывающая системные API ввода-вывода и поддерживающая общий стек
- 03Клиент и сервер HTTP/1.1 с интерфейсом в стиле Servlet, поддержкой Gzip и WebSocket
- 04Клиент Redis с поддержкой автономного режима, кластеров и конвейерной обработки запросов, а также пулом соединений
- 05Реализация протокола MQTT 3.1.1 с потоковым парсером
- 06Единый интерфейс для MySQL, PostgreSQL и SQLite
Сценарии использования
- Разработка высоконагруженных серверных сервисов на C или C++ с использованием корутин
- Создание кроссплатформенных клиентов Redis, MQTT или HTTP для мобильных и встраиваемых платформ
- Разработка сетевых серверов на основе процессов, потоков или модели сервисов AIO
- Разработка приложений для работы с базами данных, которым нужен единый API для MySQL, PostgreSQL и SQLite
Быстрый старт
- 1
Скомпилируйте Acl для своей платформы, следуя руководству по компиляции из раздела 3.1 README
Что важно знать
- Распространяется по лицензии LGPL-2.1 — лицензии со слабым копилефтом, требующей осторожности при связывании с проприетарными продуктами.
- Это крупный фреймворк на 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 — 12 окт. 2026 г..
- Для чего можно использовать acl?
- Разработка высоконагруженных серверных сервисов на C или C++ с использованием корутин Создание кроссплатформенных клиентов Redis, MQTT или HTTP для мобильных и встраиваемых платформ Разработка сетевых серверов на основе процессов, потоков или модели сервисов AIO Разработка приложений для работы с базами данных, которым нужен единый API для MySQL, PostgreSQL и SQLite
- Как установить acl?
- Скомпилируйте Acl для своей платформы, следуя руководству по компиляции из раздела 3.1 README
- Где скачать acl?
- Исходный код и инструкции по установке — на GitHub: https://github.com/acl-dev/acl
Описание создано ИИ на основе README проекта. Статистика GitHub обновляется ежедневно.
Похожие проекты
Кроссплатформенные библиотеки классов C++ для сетевых приложений: HTTP, сети, базы данных, XML/JSON и логирование.
Простая, быстрая и кроссплатформенная мультимедийная библиотека C++ для окон, 2D-графики, аудио и сетевого взаимодействия.
Веб-фреймворк для Go в духе Express на базе fasthttp — для создания REST API и веб-серверов.
Лёгкая базовая библиотека на C++: корутины в стиле goroutine, сетевые компоненты, логирование, разбор флагов, JSON, модульное тестирование и бенчмарки.
PHP-расширение с событийным сетевым движком и средой выполнения корутин для создания постоянно работающих TCP-, UDP-, HTTP- и WebSocket-сервисов.