add error message if unable to bind to port
This commit is contained in:
2026-02-14 14:32:38 +01:00
parent 600e7c27b3
commit 7a4eb4f92d
+9 -4
View File
@@ -5,17 +5,20 @@
#include <QtNetwork/QSslCertificate> #include <QtNetwork/QSslCertificate>
#include <QtNetwork/QSslKey> #include <QtNetwork/QSslKey>
#include <spdlog/spdlog.h> #include <spdlog/spdlog.h>
#include <QCoreApplication>
Websocket::Websocket(uint16_t port, QObject *parent) Websocket::Websocket(uint16_t port, QObject *parent)
: QObject(parent), : QObject(parent),
m_pWebSocketServer(new QWebSocketServer(QStringLiteral("unisim Server"), QWebSocketServer::NonSecureMode, parent)) m_pWebSocketServer(new QWebSocketServer(QStringLiteral("unisim Server"), QWebSocketServer::NonSecureMode, parent))
{ {
if (m_pWebSocketServer->listen(QHostAddress::Any, port)) if (!m_pWebSocketServer->listen(QHostAddress::Any, port))
{ {
SPDLOG_CRITICAL("Unable to bind websocket to port {}", port);
exit(-1);
}
connect(m_pWebSocketServer, &QWebSocketServer::newConnection, this, &Websocket::onNewConnection); connect(m_pWebSocketServer, &QWebSocketServer::newConnection, this, &Websocket::onNewConnection);
connect(m_pWebSocketServer, &QWebSocketServer::closed, this, &Websocket::closed); connect(m_pWebSocketServer, &QWebSocketServer::closed, this, &Websocket::closed);
} }
}
Websocket::Websocket(uint16_t port, QString key_file, QString cert_file, QObject *parent) Websocket::Websocket(uint16_t port, QString key_file, QString cert_file, QObject *parent)
: QObject(parent), : QObject(parent),
@@ -42,12 +45,14 @@ Websocket::Websocket(uint16_t port, QString key_file, QString cert_file, QObject
sslConfiguration.setLocalCertificate(certificate); sslConfiguration.setLocalCertificate(certificate);
sslConfiguration.setPrivateKey(sslKey); sslConfiguration.setPrivateKey(sslKey);
m_pWebSocketServer->setSslConfiguration(sslConfiguration); m_pWebSocketServer->setSslConfiguration(sslConfiguration);
if (m_pWebSocketServer->listen(QHostAddress::Any, port)) if (!m_pWebSocketServer->listen(QHostAddress::Any, port))
{ {
SPDLOG_CRITICAL("Unable to bind websocket to port {}", port);
exit(-1);
}
connect(m_pWebSocketServer, &QWebSocketServer::newConnection, this, &Websocket::onNewConnection); connect(m_pWebSocketServer, &QWebSocketServer::newConnection, this, &Websocket::onNewConnection);
connect(m_pWebSocketServer, &QWebSocketServer::closed, this, &Websocket::closed); connect(m_pWebSocketServer, &QWebSocketServer::closed, this, &Websocket::closed);
} }
}
Websocket::~Websocket() Websocket::~Websocket()
{ {