Biblioteca de red multiplataforma en C/C++ con bucle de eventos y soporte para clientes y servidores TCP/UDP, SSL, HTTP, WebSocket, MQTT y Redis.
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
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
Bibliotecas de clases C++ multiplataforma para crear aplicaciones centradas en la red, con soporte para HTTP, bases de datos, XML/JSON y logging.
Una biblioteca multimedia de C++ sencilla, rápida y multiplataforma para gestionar ventanas, gráficos 2D, audio y redes.
Framework web para Go inspirado en Express y basado en el motor fasthttp, para crear REST APIs y servidores web.
Biblioteca base ligera de C++ que reúne corrutinas al estilo goroutine, networking, logging, análisis de flags, JSON, pruebas unitarias y benchmarking.
Extensión de PHP que ofrece un motor de red basado en eventos y un entorno de ejecución de corutinas para crear servicios persistentes de TCP, UDP, HTTP y WebSocket.