Repolode
acl-dev

acl-dev/acl

コルーチン、HTTP、Redis、MQTT、データベースクライアントを備えた、C/C++向けクロスプラットフォーム通信ライブラリ兼サーバーフレームワーク。

スター
3,106
フォーク
947
未解決の Issue
40
最終コミット
26 日前

これは何?

Acl(Advanced C/C++ Library)は、クロスプラットフォームのネットワークライブラリ兼サーバー開発フレームワークです。Linux、Windows、macOS、FreeBSD、Solaris、Android、iOS、HarmonyOSに対応し、HTTP/HTTPS、WebSocket、SMTP、MQTT、Redis、Memcached、Beanstalkの各クライアントを内蔵しています。また、XML、JSON、MIME、Base64のエンコード/デコード機能も備えています。

システムのIO APIをフックして、ブロッキング形式で書いたコードを非同期に実行できるコルーチンモジュールと、プロセス、スレッド、AIO、コルーチン、UDP、スケジュールトリガー型のサービステンプレートを備えたサーバーフレームワークを提供します。Redisクライアントは、コネクションプールを備え、スタンドアロン、クラスタ、パイプラインの各モードに対応します。また、MySQL、PostgreSQL、SQLiteを共通の抽象化レイヤーから扱えます。

ビルド方法はMake、CMake、XMakeに対応しています。Windows向けのVisual Studioプロジェクトに加え、モバイルプラットフォーム向けのXcode、Android Studio、DevEco Studioプロジェクトも用意されています。ライセンスはLGPL-2.1です。

主な機能

  • 01TCP、UDP、UNIXソケットに対応したクロスプラットフォームC/C++ネットワーク機能
  • 02システムのIO APIをフックし、共有スタックモードも利用できるコルーチンライブラリ
  • 03Servlet風のインターフェース、Gzip、WebSocketを備えたHTTP/1.1クライアント/サーバー
  • 04コネクションプールを備え、スタンドアロン、クラスタ、パイプラインの各モードに対応するRedisクライアント
  • 05ストリーミングパーサーを備えたMQTT 3.1.1プロトコル実装
  • 06MySQL、PostgreSQL、SQLiteを共通のインターフェースで扱う機能

ユースケース

  • コルーチンを使った、高並行なCまたはC++バックエンドサービスの構築
  • モバイルや組み込み環境向けのRedis、MQTT、HTTPクロスプラットフォームクライアントの開発
  • プロセス、スレッド、AIOの各サービスモデルを使ったネットワークサーバーの作成
  • MySQL、PostgreSQL、SQLiteで共通のAPIを必要とするデータベースアプリケーションの開発

クイックスタート

  1. 1

    READMEのセクション3.1にあるコンパイルガイドに従って、お使いのプラットフォーム向けにAclをコンパイルします

使う前に知っておきたいこと

  • LGPL-2.1の下でライセンスされています。弱いコピーレフトライセンスですが、プロプライエタリ製品にリンクする際は注意が必要です。
  • 多数のモジュールを含む大規模なC/C++フレームワークのため、習得にかなり時間がかかります。

収録されている特集

トピック

よくある質問

acl とは?
コルーチン、HTTP、Redis、MQTT、データベースクライアントを備えた、C/C++向けクロスプラットフォーム通信ライブラリ兼サーバーフレームワーク。 Acl(Advanced C/C++ Library)は、クロスプラットフォームのネットワークライブラリ兼サーバー開発フレームワークです。Linux、Windows、macOS、FreeBSD、Solaris、Android、iOS、HarmonyOSに対応し、HTTP/HTTPS、WebSocket、SMTP、MQTT、Redis、Memcached、Beanstalkの各クライアントを内蔵しています。また、XML、JSON、MIME、Base64のエンコード/デコード機能も備えています。
acl は無料で使えますか?ライセンスは?
acl は LGPL-2.1 ライセンスのオープンソースです。商用製品で使う前にライセンス条件を確認してください。
acl は今もメンテナンスされていますか?
活発にメンテナンス中。acl の最終コミットは 2026年10月12日 です。
acl は何に使えますか?
コルーチンを使った、高並行なCまたはC++バックエンドサービスの構築 モバイルや組み込み環境向けのRedis、MQTT、HTTPクロスプラットフォームクライアントの開発 プロセス、スレッド、AIOの各サービスモデルを使ったネットワークサーバーの作成 MySQL、PostgreSQL、SQLiteで共通のAPIを必要とするデータベースアプリケーションの開発
acl のインストール方法は?
READMEのセクション3.1にあるコンパイルガイドに従って、お使いのプラットフォーム向けにAclをコンパイルします
acl はどこで入手できますか?
ソースコードとインストール手順は GitHub にあります:https://github.com/acl-dev/acl

概要はプロジェクトの README をもとに AI が生成しています。GitHub の数値は毎日更新されます。

関連プロジェクト