diff --git a/libnymea-remoteproxy/websocketserver.cpp b/libnymea-remoteproxy/websocketserver.cpp index 7fe09bc..41526ca 100644 --- a/libnymea-remoteproxy/websocketserver.cpp +++ b/libnymea-remoteproxy/websocketserver.cpp @@ -118,6 +118,9 @@ void WebSocketServer::onClientDisconnected() qCDebug(dcWebSocketServer()) << "Client disconnected:" << client << client->peerAddress().toString() << clientId.toString() << client->closeReason(); + // Manually close it in any case + client->close(); + m_clientList.take(clientId)->deleteLater(); emit clientDisconnected(clientId); } @@ -148,9 +151,9 @@ void WebSocketServer::onAcceptError(QAbstractSocket::SocketError error) qCWarning(dcWebSocketServer()) << "Server accept error occurred:" << error << m_server->errorString(); } -void WebSocketServer::onServerError(QAbstractSocket::SocketError error) +void WebSocketServer::onServerError(QWebSocketProtocol::CloseCode closeCode) { - qCWarning(dcWebSocketServer()) << "Server error occurred:" << error << m_server->errorString(); + qCWarning(dcWebSocketServer()) << "Server error occurred:" << closeCode << m_server->errorString(); } bool WebSocketServer::startServer() diff --git a/libnymea-remoteproxy/websocketserver.h b/libnymea-remoteproxy/websocketserver.h index e2108a8..28f35e4 100644 --- a/libnymea-remoteproxy/websocketserver.h +++ b/libnymea-remoteproxy/websocketserver.h @@ -65,7 +65,7 @@ private slots: void onBinaryMessageReceived(const QByteArray &data); void onClientError(QAbstractSocket::SocketError error); void onAcceptError(QAbstractSocket::SocketError error); - void onServerError(QAbstractSocket::SocketError error); + void onServerError(QWebSocketProtocol::CloseCode closeCode); public slots: bool startServer() override;