Acl is a cross-platform C/C++ network communication library and server framework that supports Linux, Windows, macOS, Android, iOS, and other operating systems.
The library addresses the need for unified network programming across multiple platforms by providing built-in implementations of common protocols including HTTP, HTTPS, WebSocket, SMTP, MQTT, Redis, and Memcached. It includes a coroutine system for efficient concurrent programming, codec libraries for XML, JSON, MIME, and BASE64, and a unified abstract interface for database operations across MySQL, PostgreSQL, and SQLite. The framework handles both low-level network communication and higher-level application protocol concerns, allowing developers to build networked applications without reimplementing standard functionality.
Developers should consider Acl for projects requiring cross-platform server or client applications with support for multiple protocols and databases. It suits teams building services that need to run on diverse platforms from Linux servers to mobile devices. The library is particularly relevant for applications requiring coroutine-based concurrency, Redis integration, or MQTT connectivity. The project includes a server framework component alongside the communication library, making it suitable for building complete server applications rather than just adding networking to existing code.
The project maintains active development with regular updates to its core modules and examples. The codebase includes comprehensive sample implementations demonstrating TCP servers and clients, coroutine-based servers, HTTP clients, and Redis client usage. Documentation covers compilation instructions for multiple platforms and provides quick-start guides for common use cases. The project acknowledges real-world applications built with the library serving hundreds of millions of users across various devices.