一、简述
WebSocket 是一个基于 Web 的协议,旨在使 client 应用程序和远程主机之间进行双向通信。如果最初的握手成功,则两个实体可以来回发送数据。WebSocket 是通过用更少的网络延迟和最小数据交换来努力获取实时数据的应用程序解决方案。
二、代码
#ifndef WEBSOCKET_H
#define WEBSOCKET_H
#include <QObject>
#include <QWebSocket>
#include <QUrl>
#include <QDebug>
#include <QTimer>
class webSocketMgr : public QObject
{
Q_OBJECT
public:
explicit webSocketMgr(QObject *parent = nullptr);
~webSocketMgr();
void setUrl(const QUrl &url);
void start();
private slots:
void on_connected();
void on_disconnected();
void on_error(QAbstractSocket::SocketError error);
void on_textFrameReceived(const QString &frame, bool isLastFrame);
void on_textMessageReceived(const QString &message);
void on_timeout();
private:
void init();
private:
QUrl m_url;
QWebSocket m_socket;
QTimer m_timer;
};
#endif // WEBSOCKET_H
#include "WebSocketMgr.h