acl-dev/acl logo

acl-dev/acl

Free

C/C++ server and network library, including coroutine,redis client,http/https/websocket,mqtt, mysql/postgresql/sqlite client with C/C++ for Linux, Android, iOS, MacOS, Windows, Harmony,etc..

FreeFree tier
Type
Open Source

About acl-dev/acl

Acl (Advanced C/C++ Library) is a powerful cross-platform network communication library and server programming framework designed for C/C++ developers. It supports Linux, Windows, Solaris, FreeBSD, macOS, Android, iOS, and HarmonyOS. The library includes six core modules: basic network communication, coroutine concurrency, HTTP/HTTPS handling, Redis client, MQTT protocol, and a server framework. Additional modules provide support for databases (MySQL, PostgreSQL, SQLite), codecs (XML, JSON, MIME, BASE64, etc.), DNS, connection pooling, and various client protocols (SMTP, ICMP, Memcached, Beanstalk, etc.). Used in production environments serving millions of users, Acl enables developers to build stable, high-performance network applications and services.

Key Features

Cross-platform support (Linux, Windows, macOS, Android, iOS, HarmonyOS, Solaris, FreeBSD)
Built-in coroutine implementation for concurrent programming
HTTP/HTTPS server and client modules
Redis client with full protocol support
MQTT publish/subscribe messaging protocol
Unified database interface for MySQL, PostgreSQL, SQLite
Server framework for rapid service development
Comprehensive codec libraries (XML, JSON, MIME, BASE64, UUCODE, QPCODE, RFC2047, RFC1035)
Connection pool manager for efficient resource reuse
DNS resolution module

Pros & Cons

Pros
  • True cross-platform support across major operating systems and mobile platforms
  • Rich built-in protocol implementations reduce development time
  • Coroutine support simplifies concurrent programming
  • Unified database abstraction minimizes vendor lock-in
  • Proven in production with millions of users
  • Open source with liberal licensing (likely BSD or similar, based on repository)
Cons
  • C/C++ only, not usable from other programming languages directly
  • Steep learning curve for developers new to advanced network programming
  • Documentation may be sparse or primarily in Chinese for some modules

Best For

Building high-performance network servers and servicesDeveloping cross-platform network applications in C/C++Embedded and IoT systems requiring lightweight network libMobile apps on Android/iOS needing network communicationReal-time messaging systems with MQTT supportMicroservices and distributed systems using Redis/database clientsProtocol parsing and encoding/decoding tasks