Repolode
acl-dev

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. 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