Exemple de client QWebSocket
Description de l'exemple
L'exemple EchoClient implémente un client WebSocket qui envoie un message à un serveur WebSocket et dépose la réponse qu'il reçoit en retour. Cet exemple devrait idéalement être utilisé avec l'exemple EchoServer.
Code
Nous commençons par nous connecter au signal `connected()`.
EchoClient::EchoClient(const QUrl &url, bool debug, QObject *parent) : QObject(parent),m_debug(debug) { if (m_debug) qDebug() << "WebSocket server:" << url; connect(&m_webSocket, &QWebSocket::connected, this, &EchoClient::onConnected) ; connect(&m_webSocket, &QWebSocket::disconnected, this, &EchoClient::closed) ; m_webSocket.open(url) ; }
Après la connexion, nous ouvrons le socket à l'adresse url.
void EchoClient::onConnected() { if (m_debug) qDebug() << "WebSocket connected"; connect(&m_webSocket, &QWebSocket::textMessageReceived, this, &EchoClient::onTextMessageReceived) ; m_webSocket.sendTextMessage(QStringLiteral("Hello, world !")) ; }
Lorsque le client est connecté avec succès, nous nous connectons au signal `onTextMessageReceived()` et envoyons "Hello, world !". Si nous sommes connectés au serveur Echo, nous recevrons le même message en retour.
void EchoClient::onTextMessageReceived(QString message) { if (m_debug) qDebug() << "Message received:" << message; m_webSocket.close() ; }
Chaque fois qu'un message est reçu, nous l'écrivons.
© 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.