QWebSockets 是一个纯 Qt 实现的 WebSockets 通讯库,包括客户端和服务器端。QWebSockets 是作为 Qt 源码模块 (.pri 文件) 提供的,可轻松嵌入到已有的 Qt 项目,无需依赖其他第三方库。可实现文本和二进制的套接字、基于帧和消息的信号机制,支持代理和严格的 Unicode 检查。
客户端示例代码:
#include "echoclient.h" #include <QDebug> //! [constructor] EchoClient::EchoClient(const QUrl &url, QObject *parent) : QObject(parent), m_webSocket() { connect(&m_webSocket, SIGNAL(connected()), this, SLOT(onConnected())); m_webSocket.open(QUrl(url)); } //! [constructor] //! [onConnected] void EchoClient::onConnected() { qDebug() << "Websocket connected"; connect(&m_webSocket, SIGNAL(textMessageReceived(QString)), this, SLOT(onTextMessageReceived(QString))); m_webSocket.send("Hello, world!"); } //! [onConnected] //! [onTextMessageReceived] void EchoClient::onTextMessageReceived(QString message) { qDebug() << "Message received:" << message; } //! [onTextMessageReceived]