Qt GRPC
Qt GRPC에서는 Qt Protobuf 모듈과 함께, 서버와의 빠르고 공간 효율적인 통신을 가능하게 합니다 gRPC™ 서버와의 빠르고 공간 효율적인 통신을 가능하게 합니다. 이 기능은 gRPC 서비스를 Qt 프레임워크에 원활하게 통합하여, 서버가 Qt 기반인지 여부와 관계없이 서로 다른 프로그래밍 언어 또는 환경 간 통신을 가능하게 합니다.
개요
gRPC 는 크로스 플랫폼의 고성능 원격 프로시저 호출(RPC) 프레임워크입니다. 이 프레임워크는 Protobuf 컴파일러(protoc)를 사용하여 다양한 프로그래밍 언어용 protobuf 스키마 내의 ` service ` 섹션으로부터 클라이언트 및 서버 인터페이스를 생성합니다. 이 프레임워크는 일반적으로 마이크로서비스 스타일 아키텍처에서 서비스를 연결하거나, 모바일 애플리케이션 및 브라우저를 백엔드 시스템과 연동하는 데 사용됩니다. 자세한 내용은 gRPC 소개를 참조하십시오.
Qt GRPC C++ 및 Qt Quick API로 구성되어 있으며, 잘 알려진 ‘신호 및 슬롯(Signals & Slots )’ 메커니즘을 사용하여 원격 프로시저 호출(RPC)의 비동기적 특성을 처리합니다. 또한 protoc 를 사용하여 Qt 전용 인터페이스 생성을 간소화하기 위한 명령줄 도구와 CMake API를 제공합니다.
Qt GRPC 현재 클라이언트 측 기능을 지원합니다. 즉, gRPC 호환 서버와 통신할 수 있습니다. 이는 protobuf API를 사용하는 자체 서버이거나 Google API와 같은 공개 API일 수 있습니다.
모듈 사용법
모듈 사용 전제 조건
protoc인 Protocol Buffers 컴파일러는 Qt 코드 생성기 플러그인을 실행하는 데 필수적입니다. Protoc 설치 항목을 참조하십시오.- 선택 사항: SSL 지원.
- 선택 사항: 예제를 실행하기 위한 gRPC C++.
참고: ` gRPC ` 및 ` Protobuf` 설치 방법과 ` Qt GRPC ` 예제 실행 방법에 대한 지침은 vcpkg를 사용한 Windows 설치 예제를참조하십시오 .
C++ API
Qt 기반 프로젝트에 protobuf 파일을 추가하고 필요한 소스 코드를 생성하려면, protoc 컴파일러와 qtgrpcgen 및 qtprotobufgen Qt 플러그인을 함께 사용하십시오.
- qtprotobufgen 도구는 protobuf 메시지 정의로부터 Qt 클래스를 생성합니다. 이 과정을 자동화하려면 qt_add_protobuf CMake 명령을 사용하십시오.
- qtgrpcgen 도구는 protobuf 서비스 정의에서 인터페이스를 생성합니다. 이 과정을 자동화하려면 qt_add_grpc CMake 명령을 사용하십시오.
Qt GRPC 을 사용하는 CMake 프로젝트 파일의 최소 예제는 다음과 같습니다:
cmake_minimum_required(VERSION 3.16...3.22)
project(MyProject)
find_package(Qt6 REQUIRED COMPONENTS Protobuf Grpc)
qt_standard_project_setup()
qt_add_executable(MyApp main.cpp)
qt_add_protobuf(MyApp
PROTO_FILES
path/to/messages.proto
)
qt_add_grpc(MyApp CLIENT
PROTO_FILES
path/to/service.proto
)
target_link_libraries(MyApp PRIVATE Qt6::Protobuf Qt6::Grpc)QML API
모듈의 QML 타입은 ` QtGrpc ` 임포트를 통해 사용할 수 있습니다. 해당 타입을 사용하려면 .qml 파일에 다음 임포트 문장을 추가하십시오:
import QtGrpc문서 및 가이드
참고 문헌
예제
라이선스 및 출처 표기
Qt GRPC 모듈은 The Qt Company의 상용 라이선스에 따라 제공됩니다. 또한, 이 모듈은 GNU 일반 공중 사용 허가서(GNU General Public License, 버전 3)와 같은 자유 소프트웨어 라이선스 하에서도 제공됩니다. 자세한 내용은 Qt 라이선스 문서를 참조하십시오.
또한, Qt 6.12.0의 Qt GRPC 에는 다음의 관대한 라이선스에 따라 제공되는 타사 모듈이 포함될 수 있습니다:
아파치 라이선스 2.0 |
© 2026 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.