Files
remote-ui/server/websocket.hpp
T

34 lines
842 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(uint16_t port, QString key_file, QString cert_file, 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;
};