summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorManuel Schneider2014-06-03 14:11:41 +0200
committerManuel Schneider2014-06-03 14:11:41 +0200
commit38db480acb87152e60e0bf8db3258c31b7079dba (patch)
tree2008cd40cdcdafa2a0942ae91cc43a663fbe929f /src
parentUncheck lock if any action is performed. (diff)
downloadpvs2-38db480acb87152e60e0bf8db3258c31b7079dba.tar.gz
pvs2-38db480acb87152e60e0bf8db3258c31b7079dba.tar.xz
pvs2-38db480acb87152e60e0bf8db3258c31b7079dba.zip
Remove client list from listenServer. Check maxClients in Mainwindow
Diffstat (limited to 'src')
-rw-r--r--src/server/mainwindow/mainwindow.cpp6
-rw-r--r--src/server/net/listenserver.cpp9
-rw-r--r--src/server/net/listenserver.h1
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<Client*> _clients;
public:
explicit ListenServer(quint16 port);