네트워킹 및 연결성
Qt Network는 네트워크 통신, 웹 통합 및 장치 연결을 위한 모듈을 제공합니다. 네트워크 기반 애플리케이션을 다양한 플랫폼과 장치에 배포할 수 있습니다.
다음과 같은 네트워크를 통해 통신하기 Qt Network
`The` Qt Network 모듈은 Qt Network의 주요 네트워킹 API를 제공합니다. 이 모듈의 C++ API를 통해 애플리케이션은 운영 체제의 네이티브 네트워크 기능을 안전하고 효율적인 방식으로 활용할 수 있습니다. TCP 또는 UDP 소켓을 통한 데이터 송수신, REST API 또는 웹 서비스에 대한 HTTP/HTTPS 요청 수행, 파일 다운로드 및 업로드, 프록시 및 인증 처리, SSL/TLS를 사용한 보안 연결 설정 등 다양한 시나리오에서 Qt를 활용할 수 있습니다.
자세한 내용은 Qt Network 프로그래밍 개요를 참조하십시오.
QML에서 리소스에 액세스하기
QML 유형은 URL에서 리소스를 불러올 수 있습니다. 리소스에는 이미지, 텍스트 파일, 소스 파일 또는 기타 유형의 파일이 포함될 수 있습니다. 이를 통해 다양한 데이터 소스에 대한 연결을 간소화할 수 있습니다. 자세한 내용은 ‘리소스 로딩 및 네트워크 투명성’ 개요를 참조하십시오.
또한 QML JavaScript에서 XMLHttpRequest를 사용하여 양식 데이터 전송이나 서버로부터의 비동기 데이터 로딩과 같은 HTTP 클라이언트 기능을 수행할 수 있습니다.
WebSocket을 이용한 통신
Qt WebSockets Qt 애플리케이션에 WebSocket 기능을 제공합니다. WebSocket 프로토콜은 실시간, 지속적이며 완전히 비동기적인 연결이 필요한 클라이언트-서버 통신을 위한 것입니다. HTTP에 비해 WebSocket은 지연 시간이 더 짧고 처리량이 더 높습니다. WebSocket은 초기 핸드셰이크 절차에 HTTP 1.1 GET 요청을 사용하지만, 패킷 형식은 다릅니다.
WebSockets의 이점을 누릴 수 있는 애플리케이션으로는 금융 시장 데이터 피드 및 메시징 서비스 등이 있습니다. 예제는 Qt WebSockets 예제 페이지를 참조하십시오.
웹 서비스 실행
the Qt HTTP Server 모듈은 네트워크를 통해 웹 서비스를 개발하기 위한 클래스를 제공합니다. Qt HTTP Server 는 HTTP/1.1 및 HTTP/2 프로토콜을 지원하며, RESTful API 생성을 위한 라우팅 기능을 제공합니다.
Qt OpenAPI 모듈은 OpenAPI 사양 파일에서 Qt HTTP 클라이언트 코드를 생성합니다. 이 모듈은 QRestAccessManager 와 같은 Qt Network RESTful API를 사용하여 REST 서비스를 위한 유형 안전 C++ 클라이언트를 생성합니다.
참고: Qt OpenAPI는 현재 기술 미리보기(Technology Preview) 단계에 있습니다.
Qt 애플리케이션에 웹 콘텐츠 통합
Qt WebEngineQt WebEngine 는 다른 Qt 모듈과의 통합을 지원하는 Chromium 기반 웹 콘텐츠 렌더링을 제공합니다. 를 사용하여 Chromium의 렌더링 엔진을 임베드하고 Qt 애플리케이션에서 웹 콘텐츠를 처리할 수 있습니다. Qt WebEngine 는 HTML5, WebGL 및 기타 Chromium 기능을 지원합니다. Qt WebEngine 기능 목록은 Qt WebEngine 기능 페이지를 참조하십시오.
Qt WebChannel JavaScript 콘텐츠를 Qt 애플리케이션에 통합할 수 있습니다. QWebChannel 을 사용하여 애플리케이션 내의 C++ 객체를 노출하고, JavaScript 라이브러리를 통해 웹 클라이언트에서 해당 객체에 액세스할 수 있습니다. 그러면 JavaScript의 QWebChannel 객체를 통해 Qt 객체, 속성 및 시그널에 접근할 수 있습니다. Qt WebChannel 는 WebSockets를 사용하며 Qt WebEngine 내에서 작동합니다.
Qt WebView 는 애플리케이션 내에서 웹 콘텐츠를 표시하는 경량 웹 뷰입니다. 이 웹 뷰는 플랫폼의 네이티브 웹 뷰를 기반으로 합니다.
블루투스 및 NFC를 통한 무선 연결
블루투스(Bluetooth)는 단거리 데이터 교환을 위한 무선 기술 표준입니다. 블루투스는 소비자용 기기에서 흔히 사용되며, 최신 버전에는 보안 기능이 강화된 블루투스 저에너지(BLE) 기기가 포함됩니다. Qt Bluetooth 모듈을 사용하면 블루투스 기기를 검색하고, 기기에 연결하며, 데이터를 교환할 수 있습니다. Qt Bluetooth 는 클래식 및 BLE 기기를 모두 지원합니다. 자세한 내용은 Qt Bluetooth 개요를 참조하십시오.
근거리 무선 통신(NFC)은 데이터 전송 속도가 느리고 전력 소모가 적은 단거리 무선 기술입니다. NFC는 두 기기가 서로 가까이 있을 때 소량의 데이터 패킷을 전송하는 데 이상적입니다. Qt NFC 모듈과 해당 API를 사용하여 NFC 지원 장치 간 연결을 설정할 수 있습니다.
직렬 버스 및 포트를 통한 통신
Qt는 시리얼 버스 및 포트를 통한 통신을 위해 두 가지 모듈을 제공합니다. Qt Serial Bus 는 CAN 버스 및 ModBus와 같은 다양한 산업용 직렬 버스 및 프로토콜에 대한 인터페이스를 제공합니다. Qt Serial Port 는 구성, I/O 작업, 제어 신호 읽기 및 쓰기 작업과 같은 RS-232 핀 배열에 대한 인터페이스를 제공합니다.
고수준 프로토콜 및 서비스를 통한 통신
여러 Qt 모듈은 고수준 네트워크 통신 및 프로세스 간 통신(IPC)을 지원합니다. 또한 M2M(Machine-to-Machine) 산업용 프로토콜과 소규모 IoT 시스템도 지원합니다. 예를 들어, Qt D-Bus, Qt GRPC, Qt MQTT 및 Qt CoAP용 모듈이 있습니다.
자세한 내용은 Qt의 프로세스 간 통신 페이지를 참조하십시오.
네트워크 애플리케이션 보안
네트워크에 연결된 기기의 경우, 보안 관련 사항을 유의해야 합니다. 사용자, 사용자 데이터 및 네트워크 시스템을 보호하기 위해 강력한 보안 조치와 애플리케이션 설계를 구현하십시오.
구현할 수 있는 보안 조치에는 다음과 같은 것들이 있습니다:
- 데이터를 송수신할 때 암호화를 사용하십시오. ‘SSL(Secure Sockets Layer) 클래스’를 참조하십시오.
- 강력한 인증 및 권한 부여 메커니즘을 사용하십시오. ‘Qt Network ’ 권한 부여를 참조하십시오.
- 신뢰할 수 없는 데이터를 검증하고 처리하십시오. ‘신뢰할 수 없는 데이터 처리’를 참조하십시오.
- 오용을 방지하기 위해 속도 제한을 설정하고 트래픽을 모니터링하십시오.
- 모니터링 및 재전송 공격으로부터 보호하기 위해 솔팅(salting) 또는 논스(nonce) 기법을 적용하십시오.
- 보안 취약점을 수정하기 위해 환경을 업데이트하십시오.
Qt의 보안 정책 및 조치에 대한 자세한 내용은 Qt의 보안을 참조하십시오.
© 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.