Files
remote-ui/tools/websocket.hpp
T
2024-09-12 20:43:12 +02:00

34 lines
749 B
C++

#pragma once
#include <QtCore/QByteArray>
#include <QtCore/QList>
#include <QtCore/QObject>
QT_FORWARD_DECLARE_CLASS(QWebSocketServer)
QT_FORWARD_DECLARE_CLASS(QWebSocket)
class Websocket : public QObject
{
Q_OBJECT
public:
Websocket(uint16_t port, QObject *parent = nullptr);
~Websocket();
void broadcast(QString message);
void send(QWebSocket *conn, QString message);
signals:
void on_message(QWebSocket *conn, QString message);
void closed();
private slots:
void onNewConnection();
void processTextMessage(QString message);
void processBinaryMessage(QByteArray message);
void socketDisconnected();
private:
QWebSocketServer *m_pWebSocketServer;
QList<QWebSocket *> m_clients;
};