Repolode
acl-dev

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. 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++: корутины в стиле goroutine, сетевые компоненты, логирование, разбор флагов, JSON, модульное тестирование и бенчмарки.

4,2 тыс.+1 за неделю594C++OtherАктивно поддерживаетсяОбновлён 8 дней назад