Skip to content
Snippets Groups Projects
Commit 48f8b9c2 authored by akiraohgaki's avatar akiraohgaki
Browse files

Add websocket server class

parent 30825ca4
No related branches found
No related tags found
No related merge requests found
QT += \
core \
network
network \
websockets
QT -= gui
HEADERS += \
$${PWD}/src/websockets/websocketserver.h \
$${PWD}/src/handlers/confighandler.h \
$${PWD}/src/handlers/systemhandler.h \
$${PWD}/src/handlers/ocshandler.h \
......@@ -12,6 +14,7 @@ HEADERS += \
SOURCES += \
$${PWD}/src/main.cpp \
$${PWD}/src/websockets/websocketserver.cpp \
$${PWD}/src/handlers/confighandler.cpp \
$${PWD}/src/handlers/systemhandler.cpp \
$${PWD}/src/handlers/ocshandler.cpp \
......
......@@ -8,13 +8,14 @@
#include "handlers/systemhandler.h"
#include "handlers/ocshandler.h"
#include "handlers/itemhandler.h"
#include "websockets/websocketserver.h"
int main(int argc, char *argv[])
{
// Init
QCoreApplication app(argc, argv);
ConfigHandler *configHandler = new ConfigHandler();
ConfigHandler *configHandler = new ConfigHandler(&app);
QJsonObject appConfigApplication = configHandler->getAppConfigApplication();
app.setApplicationName(appConfigApplication["name"].toString());
......@@ -35,5 +36,9 @@ int main(int argc, char *argv[])
clParser.addVersionOption();
clParser.process(app);
// Setup websocket server
WebSocketServer *webSocketServer = new WebSocketServer(appConfigApplication["id"].toString(), 443, &app);
webSocketServer->start();
return app.exec();
}
#include "websocketserver.h"
#include <QHostAddress>
#include <QWebSocketServer>
WebSocketServer::WebSocketServer(const QString &serverName, quint16 serverPort, QObject *parent)
: QObject(parent), serverName_(serverName), serverPort_(serverPort)
{
webSocketServer_ = new QWebSocketServer(serverName_, QWebSocketServer::NonSecureMode, this);
}
WebSocketServer::~WebSocketServer()
{
webSocketServer_->deleteLater();
}
bool WebSocketServer::start()
{
return webSocketServer_->listen(QHostAddress::Any, serverPort_);
}
void WebSocketServer::stop()
{
webSocketServer_->close();
}
#pragma once
#include <QObject>
class QWebSocketServer;
class WebSocketServer : public QObject
{
Q_OBJECT
public:
explicit WebSocketServer(const QString &serverName, quint16 serverPort = 0, QObject *parent = 0);
~WebSocketServer();
public slots:
bool start();
void stop();
private:
QString serverName_;
quint16 serverPort_;
QWebSocketServer *webSocketServer_;
};
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment