Mise en réseau et connectivité
Qt Network fournit des classes pour la communication réseau de haut niveau et de bas niveau, des classes pour l'intégration web et des classes pour la communication inter-processus (IPC).
Pour le trafic réseau de haut niveau, Qt Qt Network Qt fournit une couche d'abstraction sur les opérations utilisées, ne montrant que les classes et les fonctions de haut niveau. Qt Network peut également gérer des protocoles de bas niveau tels que TCP et UDP. Des classes comme QTcpSocket et QUdpSocket permettent au développeur d'envoyer et de recevoir des messages en utilisant le protocole TCP ou UDP. La résolution de noms est effectuée avec QHostInfo. QHostInfo est appelé avant de créer une connexion réseau avec QTcpSocket ou QUdpSocket. Le filtrage et la redistribution du trafic réseau via des proxys peuvent être gérés par la classe QNetworkProxy.
Qt fournit des options de connectivité pour connecter des systèmes ou des applications à l'aide de modules tels que Qt BluetoothQt, qui assure la connectivité entre les appareils compatibles Bluetooth. Qt Serial Bus Qt fournit des classes et des fonctions permettant d'accéder aux différents bus et protocoles industriels en série, et Qt NFC assure la connectivité entre les appareils compatibles NFC. En outre, Qt Serial Port fournit les fonctionnalités de base, y compris la configuration, les opérations d'E/S, et l'obtention et le réglage des signaux de contrôle des broches RS-232.
Qt offre des fonctionnalités pour la communication inter-processus. La classe QProcess est utilisée pour démarrer des programmes externes. Qt D-Bus Qt offre un support pour D-Bus, un mécanisme de communication inter-processus et d'appel de procédure à distance. Il communique par l'intermédiaire d'une application serveur centrale appelée bus. Cependant, il est également possible de laisser les applications communiquer directement entre elles. QSharedMemory permet à plusieurs threads et processus d'accéder à un segment de mémoire partagée. Toutefois, un seul processus peut verrouiller exclusivement cette mémoire partagée.
Communication en réseau
Qt Network prend en charge un large éventail de communications réseau, en se concentrant sur HTTP, TCP et UDP.
Au niveau HTTP, le module Qt Network offre l'API d'accès au réseau, qui consiste principalement en QNetworkRequest, QNetworkAccessManager, et QNetworkReply. La classe QNetworkRequest ressemble à une requête HTTP, qui est transmise à la classe QNetworkAccessManager pour envoyer la requête sur le réseau ; cette classe renvoie une classe QNetworkReply, qui permet d'analyser la réponse HTTP. L'API d'accès au réseau utilise en interne les classes de sockets mentionnées ci-dessous (pour TCP et SSL).
QTcpSocketLes classes TCP, QUdpSocket et QSslSocket doivent être utilisées pour la communication au niveau des sockets. Ces classes offrent une API synchrone via les méthodes waitFor* ainsi qu'une API asynchrone ; si possible (c'est-à-dire si la boucle d'événements est en cours d'exécution), l'API asynchrone devrait toujours être préférée. Qt propose également QTcpServer pour activer la partie côté serveur d'une communication TCP.
Pour les communications sécurisées via SSL, Qt Network offre une large gamme de classes en plus de la classe centrale QSslSocket. Par exemple, QSslCertificate, QSslConfiguration, et QSslError.
Qt offre également un support HTTP dans QML, soit en utilisant HTTP de manière explicite via XmlHttpRequest, soit en utilisant de manière transparente les URL HTTP dans les sources d'images par exemple.
Sujets connexes :
- Programmation réseau avec Qt Network
- Classes SSL (Secure Sockets Layer)
- Chargement des ressources et transparence du réseau - transparence du réseau et des URL en QML
- Qt Network Autorisation - ensemble d'API permettant aux applications Qt d'obtenir un accès limité aux comptes en ligne et aux services HTTP sans exposer les mots de passe des utilisateurs.
- Qt Remote Objects - Module de communication inter-processus (IPC) qui permet l'échange d'informations entre des processus ou des ordinateurs.
- Qt MQTT - protocole machine-to-machine (M2M) qui utilise le paradigme de publication et d'abonnement pour fournir un canal avec une surcharge de communication minimale.
- Qt OPC UA - serveur qui offre un accès aux données organisées dans un maillage de nœuds reliés par des références. L'utilisation de différents types de références et de nœuds contenant des métadonnées permet à un client de naviguer et d'interpréter les données sans connaître leur structure à l'avance.
- Qt WebSockets - Protocole basé sur le web conçu pour permettre une session de communication interactive bidirectionnelle entre une application client et un hôte distant. Il permet aux deux entités d'envoyer des données dans les deux sens si la poignée de main initiale réussit.
- Qt WebChannel - permet une communication poste à poste entre un serveur (application QML/C++) et un client (application HTML/JavaScript ou QML). Il est pris en charge d'emblée par Qt WebEngine. En outre, il peut fonctionner sur tous les navigateurs qui prennent en charge les WebSockets, ce qui permet aux clients Qt WebChannel de fonctionner dans n'importe quel environnement JavaScript (y compris QML). Cela nécessite la mise en œuvre d'un transport personnalisé basé sur Qt WebSockets.
- Qt Protobuf - un générateur qui peut être utilisé pour générer des classes basées sur Qt à partir de fichiers
.proto. - Qt GRPC - permet de définir des données et des messages dans des fichiers proto, puis d'utiliser les générateurs de code, qui génèrent du code permettant d'accéder aux champs et aux services gRPC dans le cadre de Qt.
- Qt OpenAPI - un générateur qui peut être utilisé pour générer des classes de clients HTTP basées sur Qt à partir de fichiers de spécification OpenAPI .yaml.
Connectivité
Qt prend en charge une série d'options de connectivité, en mettant l'accent sur les éléments suivants Qt Serial Bus, Qt Serial Port, Qt Bluetooth et Qt NFC.
- Qt Serial Bus - fournit des classes et des fonctions pour accéder aux différents bus et protocoles industriels en série, tels que CAN, ModBus et autres.
- Qt Serial Port - fournit les fonctionnalités de base, notamment la configuration, les opérations d'E/S, l'obtention et le réglage des signaux de contrôle des broches RS-232.
- Qt Bluetooth - fournit des classes et des fonctions permettant d'utiliser les dispositifs Bluetooth, notamment la recherche de dispositifs, la collecte d'informations et l'échange de données entre eux. Qt Bluetooth prend en charge les technologies Bluetooth classique et à faible énergie.
- Qt NFC - fournit des classes et des fonctions permettant d'établir une connectivité entre des dispositifs compatibles NFC. La NFC est une technologie sans fil à courte portée (moins de 20 centimètres) avec un taux de transfert maximum de 424 Kbps. La NFC est idéale pour transférer de petits paquets de données lorsque deux appareils sont placés l'un à côté de l'autre.
Sujets connexes :
- Communication inter-processus dans Qt
- Qt D-Bus - Documentation du module
- QProcess
- QLocalSocket
- QSharedMemory
© 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.