Skip to content
Snippets Groups Projects
websocketserver.h 771 B
Newer Older
  • Learn to ignore specific revisions
  • akiraohgaki's avatar
    akiraohgaki committed
    #pragma once
    
    #include <QObject>
    
    akiraohgaki's avatar
    akiraohgaki committed
    #include <QUrl>
    
    akiraohgaki's avatar
    akiraohgaki committed
    
    class QWebSocketServer;
    
    akiraohgaki's avatar
    akiraohgaki committed
    class QWebSocket;
    
    akiraohgaki's avatar
    akiraohgaki committed
    
    class WebSocketServer : public QObject
    {
        Q_OBJECT
    
    public:
        explicit WebSocketServer(const QString &serverName, quint16 serverPort = 0, QObject *parent = 0);
        ~WebSocketServer();
    
    
    akiraohgaki's avatar
    akiraohgaki committed
    signals:
        void started();
        void stopped();
    
    
    akiraohgaki's avatar
    akiraohgaki committed
    public slots:
        bool start();
        void stop();
    
    akiraohgaki's avatar
    akiraohgaki committed
        bool isError();
        QString errorString();
        QUrl serverUrl();
    
    
    akiraohgaki's avatar
    akiraohgaki committed
    private slots:
        void wsNewConnection();
        void wsBinaryMessageReceived(const QByteArray &message);
        void wsTextMessageReceived(const QString &message);
        void wsDisconnected();
    
    
    akiraohgaki's avatar
    akiraohgaki committed
    private:
        QString serverName_;
        quint16 serverPort_;
    
    akiraohgaki's avatar
    akiraohgaki committed
        QWebSocketServer *wsServer_;
        QList<QWebSocket *> wsClients_;