Biblioteca de rede C/C++ multiplataforma com event loop e suporte a clientes e servidores TCP/UDP, SSL, HTTP, WebSocket, MQTT e Redis.
acl-dev/acl
Biblioteca de comunicação de rede e framework de servidores multiplataforma em C/C++, com corrotinas, HTTP, Redis, MQTT e clientes de banco de dados.
- Estrelas
- 3,106
- Forks
- 947
- Issues abertas
- 40
- Último commit
- há 25 dias
O que é?
Acl (Advanced C/C++ Library) é uma biblioteca de rede multiplataforma e um framework para programação de servidores. É compatível com Linux, Windows, macOS, FreeBSD, Solaris, Android, iOS e HarmonyOS e inclui implementações próprias de clientes HTTP/HTTPS, WebSocket, SMTP, MQTT, Redis, Memcached e Beanstalk, além de codecs para XML, JSON, MIME e Base64.
A biblioteca oferece um módulo de corrotinas que intercepta APIs de IO do sistema para que código escrito no estilo bloqueante seja executado de forma assíncrona, além de um framework de servidores com modelos de serviço para processos, threads, AIO, corrotinas, UDP e acionadores agendados. O cliente Redis oferece suporte aos modos standalone, cluster e pipeline, com pool de conexões, e uma abstração unificada abrange MySQL, PostgreSQL e SQLite.
As opções de build incluem Make, CMake e XMake, além de projetos do Visual Studio para Windows e do Xcode, Android Studio e DevEco Studio para plataformas móveis. O projeto é licenciado sob a LGPL-2.1.
Recursos principais
- 01Rede multiplataforma em C/C++ com suporte a TCP, UDP e sockets UNIX
- 02Biblioteca de corrotinas que intercepta APIs de IO do sistema e oferece um modo de pilha compartilhada
- 03Cliente e servidor HTTP/1.1 com interface semelhante à de Servlet, Gzip e WebSocket
- 04Cliente Redis com suporte aos modos standalone, cluster e pipeline, com pool de conexões
- 05Implementação do protocolo MQTT 3.1.1 com parser de streaming
- 06Interface unificada para MySQL, PostgreSQL e SQLite
Casos de uso
- Desenvolver serviços de backend de alta concorrência em C ou C++ com corrotinas
- Escrever clientes multiplataforma para Redis, MQTT ou HTTP em dispositivos móveis e embarcados
- Criar servidores de rede usando modelos de serviço com processos, threads ou AIO
- Desenvolver aplicações de banco de dados que precisem de uma única API para MySQL, PostgreSQL e SQLite
Início rápido
- 1
Compile o Acl para sua plataforma seguindo o guia de compilação da seção 3.1 do README
Antes de usar
- Licenciado sob a LGPL-2.1, uma licença de copyleft fraco que exige cuidado ao vinculá-lo a produtos proprietários.
- É um framework grande de C/C++ com muitos módulos, portanto tem uma curva de aprendizado considerável.
Em coleções
Tópicos
Perguntas frequentes
- O que é acl?
- Biblioteca de comunicação de rede e framework de servidores multiplataforma em C/C++, com corrotinas, HTTP, Redis, MQTT e clientes de banco de dados. Acl (Advanced C/C++ Library) é uma biblioteca de rede multiplataforma e um framework para programação de servidores. É compatível com Linux, Windows, macOS, FreeBSD, Solaris, Android, iOS e HarmonyOS e inclui implementações próprias de clientes HTTP/HTTPS, WebSocket, SMTP, MQTT, Redis, Memcached e Beanstalk, além de codecs para XML, JSON, MIME e Base64.
- acl é gratuito? Qual é a licença?
- acl é open source sob a licença LGPL-2.1. Confira os termos da licença antes de usá-lo em produtos comerciais.
- acl ainda é mantido?
- Manutenção ativa. O último commit de acl foi em 12 de out. de 2026.
- Para que posso usar acl?
- Desenvolver serviços de backend de alta concorrência em C ou C++ com corrotinas Escrever clientes multiplataforma para Redis, MQTT ou HTTP em dispositivos móveis e embarcados Criar servidores de rede usando modelos de serviço com processos, threads ou AIO Desenvolver aplicações de banco de dados que precisem de uma única API para MySQL, PostgreSQL e SQLite
- Como instalar acl?
- Compile o Acl para sua plataforma seguindo o guia de compilação da seção 3.1 do README
- Onde consigo acl?
- O código-fonte e as instruções de instalação estão no GitHub: https://github.com/acl-dev/acl
Resumo gerado por IA a partir do README do projeto. As estatísticas do GitHub são atualizadas diariamente.
Projetos relacionados
Bibliotecas de classes C++ multiplataforma para criar aplicações centradas em rede, com suporte a HTTP, networking, bancos de dados, XML/JSON e logging.
Uma biblioteca multimídia C++ simples, rápida e multiplataforma para janelas, gráficos 2D, áudio e redes.
Framework web para Go inspirado no Express, construído sobre o mecanismo fasthttp, para criar APIs REST e servidores web.
Biblioteca base leve em C++ que reúne corrotinas no estilo goroutine, networking, logging, parsing de flags, JSON, testes unitários e benchmarks.
Extensão PHP que oferece um mecanismo de rede orientado a eventos e um runtime de corrotinas para criar serviços TCP, UDP, HTTP e WebSocket de longa duração.