Repolode
acl-dev

acl-dev/acl

Biblioteca de comunicación de red multiplataforma en C/C++ y framework para servidores con coroutines, HTTP, Redis, MQTT y clientes de bases de datos.

Estrellas
3,106
Forks
947
Issues abiertos
40
Último commit
hace 25 días

¿Qué es?

Acl (Advanced C/C++ Library) es una biblioteca de redes multiplataforma y un framework de programación de servidores. Es compatible con Linux, Windows, macOS, FreeBSD, Solaris, Android, iOS y HarmonyOS. Incluye implementaciones integradas de clientes HTTP/HTTPS, WebSocket, SMTP, MQTT, Redis, Memcached y Beanstalk, además de códecs para XML, JSON, MIME y Base64.

La biblioteca ofrece un módulo de coroutines que intercepta las API de E/S del sistema para ejecutar de forma asíncrona código escrito con un estilo bloqueante, y un framework de servidores con plantillas de servicio para procesos, hilos, AIO, coroutines, UDP y disparadores programados. El cliente Redis admite los modos standalone, cluster y pipeline, con un pool de conexiones, y una abstracción unificada cubre MySQL, PostgreSQL y SQLite.

Entre las opciones de compilación están Make, CMake y XMake; para Windows, incluye proyectos de Visual Studio, y para plataformas móviles, proyectos de Xcode, Android Studio y DevEco Studio. El proyecto está licenciado bajo LGPL-2.1.

Funciones clave

  • 01Redes multiplataforma en C/C++ con compatibilidad con sockets TCP, UDP y UNIX
  • 02Biblioteca de coroutines que intercepta las API de E/S del sistema y ofrece un modo de pila compartida
  • 03Cliente y servidor HTTP/1.1 con una interfaz similar a Servlet, Gzip y WebSocket
  • 04Cliente Redis compatible con los modos standalone, cluster y pipeline, con pool de conexiones
  • 05Implementación del protocolo MQTT 3.1.1 con un parser de streaming
  • 06Interfaz unificada para MySQL, PostgreSQL y SQLite

Casos de uso

  • Crear servicios backend de alta concurrencia en C o C++ con coroutines
  • Desarrollar clientes multiplataforma para Redis, MQTT o HTTP en dispositivos móviles y sistemas embebidos
  • Crear servidores de red con modelos de servicio basados en procesos, hilos o AIO
  • Desarrollar aplicaciones de bases de datos que necesiten una API común para MySQL, PostgreSQL y SQLite

Inicio rápido

  1. 1

    Compila Acl para tu plataforma siguiendo la guía de compilación de la sección 3.1 del README

Antes de usarlo

  • Está bajo la licencia LGPL-2.1, una licencia de copyleft débil que requiere precaución al enlazarla con productos propietarios.
  • Es un framework grande de C/C++ con muchos módulos, por lo que tiene una curva de aprendizaje considerable.

En colecciones

Temas

Preguntas frecuentes

¿Qué es acl?
Biblioteca de comunicación de red multiplataforma en C/C++ y framework para servidores con coroutines, HTTP, Redis, MQTT y clientes de bases de datos. Acl (Advanced C/C++ Library) es una biblioteca de redes multiplataforma y un framework de programación de servidores. Es compatible con Linux, Windows, macOS, FreeBSD, Solaris, Android, iOS y HarmonyOS. Incluye implementaciones integradas de clientes HTTP/HTTPS, WebSocket, SMTP, MQTT, Redis, Memcached y Beanstalk, además de códecs para XML, JSON, MIME y Base64.
¿acl es gratuito? ¿Qué licencia tiene?
acl es open source bajo la licencia LGPL-2.1. Revisa los términos de la licencia antes de usarlo en productos comerciales.
¿acl sigue mantenido?
Mantenimiento activo. El último commit de acl fue el 12 oct 2026.
¿Para qué puedo usar acl?
Crear servicios backend de alta concurrencia en C o C++ con coroutines Desarrollar clientes multiplataforma para Redis, MQTT o HTTP en dispositivos móviles y sistemas embebidos Crear servidores de red con modelos de servicio basados en procesos, hilos o AIO Desarrollar aplicaciones de bases de datos que necesiten una API común para MySQL, PostgreSQL y SQLite
¿Cómo se instala acl?
Compila Acl para tu plataforma siguiendo la guía de compilación de la sección 3.1 del README
¿Dónde consigo acl?
El código fuente y las instrucciones de instalación están en GitHub: https://github.com/acl-dev/acl

Resumen generado por IA a partir del README del proyecto. Las estadísticas de GitHub se actualizan a diario.

Proyectos relacionados