이벤트 루프와 TCP/UDP, SSL, HTTP, WebSocket, MQTT, Redis 클라이언트/서버 지원을 갖춘 크로스 플랫폼 C/C++ 네트워크 라이브러리입니다.
acl-dev/acl
코루틴, HTTP, Redis, MQTT 및 데이터베이스 클라이언트를 지원하는 C/C++ 크로스 플랫폼 네트워크 통신 라이브러리 겸 서버 프레임워크입니다.
- 스타
- 3,106
- 포크
- 947
- 열린 이슈
- 40
- 마지막 커밋
- 25일 전
어떤 프로젝트인가요?
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 클라이언트는 커넥션 풀링과 함께 standalone, cluster, pipeline 모드를 지원하며, 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커넥션 풀링과 함께 standalone, cluster, pipeline 모드를 지원하는 Redis 클라이언트
- 05스트리밍 파서를 포함한 MQTT 3.1.1 프로토콜 구현
- 06MySQL, PostgreSQL, SQLite를 위한 통합 인터페이스
활용 사례
- 코루틴을 활용해 C 또는 C++로 높은 동시성을 처리하는 백엔드 서비스 구축
- 모바일 및 임베디드 환경에서 Redis, MQTT, HTTP용 크로스 플랫폼 클라이언트 작성
- 프로세스, 스레드 또는 AIO 서비스 모델을 사용하는 네트워크 서버 개발
- MySQL, PostgreSQL, SQLite에서 하나의 API를 사용해야 하는 데이터베이스 애플리케이션 개발
빠른 시작
- 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 통계는 매일 갱신됩니다.
관련 프로젝트
HTTP, 네트워킹, 데이터베이스, XML/JSON, 로깅을 아우르는 크로스플랫폼 C++ 클래스 라이브러리로, 네트워크 중심 애플리케이션 개발에 적합합니다.
윈도우, 2D 그래픽, 오디오, 네트워킹을 지원하는 간단하고 빠른 크로스 플랫폼 C++ 멀티미디어 라이브러리입니다.
fasthttp 엔진을 기반으로 REST API와 웹 서버를 만들 수 있는 Express 스타일의 Go 웹 프레임워크입니다.
고루틴 스타일 코루틴, 네트워킹, 로깅, 플래그 파싱, JSON, 단위 테스트와 벤치마크를 제공하는 경량 C++ 기반 라이브러리입니다.
장시간 실행되는 TCP, UDP, HTTP, WebSocket 서비스를 구축할 수 있도록 이벤트 기반 네트워킹 엔진과 코루틴 런타임을 제공하는 PHP 확장입니다.