From 38db480acb87152e60e0bf8db3258c31b7079dba Mon Sep 17 00:00:00 2001 From: Manuel Schneider Date: Tue, 3 Jun 2014 14:11:41 +0200 Subject: Remove client list from listenServer. Check maxClients in Mainwindow --- src/server/mainwindow/mainwindow.cpp | 6 ++++++ src/server/net/listenserver.cpp | 9 --------- src/server/net/listenserver.h | 1 - 3 files changed, 6 insertions(+), 10 deletions(-) diff --git a/src/server/mainwindow/mainwindow.cpp b/src/server/mainwindow/mainwindow.cpp index 6afa608..d1974ab 100644 --- a/src/server/mainwindow/mainwindow.cpp +++ b/src/server/mainwindow/mainwindow.cpp @@ -812,6 +812,12 @@ void MainWindow::onClientAuthenticated(Client* client) tellClientCurrentSituation(client); return; } + + if (_clientFrames.size() > 50) { + client->deleteLater(); + return; + } + // New one, create ConnectionFrame *cf = createFrame(); // Try to load last known position diff --git a/src/server/net/listenserver.cpp b/src/server/net/listenserver.cpp index 859ee33..b005a45 100644 --- a/src/server/net/listenserver.cpp +++ b/src/server/net/listenserver.cpp @@ -18,8 +18,6 @@ ListenServer::ListenServer(quint16 port) ListenServer::~ListenServer() { _server.close(); - for (int i = 0; i < _clients.size(); ++i) - _clients[i]->deleteLater(); // TODO are there nullptrs? } /* @@ -36,14 +34,7 @@ void ListenServer::newClientConnection() QSslSocket* sock; while ((sock = (QSslSocket*)_server.nextPendingConnection()) != NULL) { - if (_clients.size() >= MAX_CLIENTS) - { - sock->abort(); - sock->deleteLater(); - continue; - } Client* client = new Client(sock); // TODO: what happens with disconnected clients - _clients.append(client); // create new client class and add to list emit newClient(client); } } diff --git a/src/server/net/listenserver.h b/src/server/net/listenserver.h index e0cece3..640da23 100644 --- a/src/server/net/listenserver.h +++ b/src/server/net/listenserver.h @@ -16,7 +16,6 @@ class ListenServer : public QObject private: SslServer _server; - QList _clients; public: explicit ListenServer(quint16 port); -- cgit v1.2.3-55-g7522