From 52f3b434a7d26c2cf7fb614ca14ada0b1abdb378 Mon Sep 17 00:00:00 2001 From: Manuel Schneider Date: Wed, 21 May 2014 12:07:58 +0200 Subject: Several changes: * [Client] Remove unneccessary members _ip, * [Client] Remove unneccessary class forward of QSslSocket * [Client] Make member initializer list of non-const members part of ctor * [Client] Make _socket pointer const member * [Client] Drop socket-delete indirektion --- src/server/net/client.cpp | 56 +++++++++++++++++++---------------------------- 1 file changed, 22 insertions(+), 34 deletions(-) (limited to 'src/server/net/client.cpp') diff --git a/src/server/net/client.cpp b/src/server/net/client.cpp index 4cb9f8e..fbf5b59 100644 --- a/src/server/net/client.cpp +++ b/src/server/net/client.cpp @@ -9,8 +9,6 @@ #include "../util/global.h" #include "../../shared/settings.h" #include "../../shared/util.h" -#include -#include #include #include @@ -18,14 +16,20 @@ int Client::_clientIdCounter = 0; /******************************************************************************/ -Client::Client(QSslSocket* socket) : - _socket(socket), _authed(0), _timerDelete(0), _desiredProjectionSource(0), _isProjectionSource(false), - _currentProjectionSource(0), _vncPort(0), _activeVncClient(false), _isTutor(false) +Client::Client(QSslSocket* socket) : _socket(socket) { assert(socket != NULL); + _authed = 0; + _desiredProjectionSource = 0; + _isProjectionSource = false; + _currentProjectionSource = 0; + _vncPort = 0; + _activeVncClient = false; + _isTutor = false; + _id = ++_clientIdCounter; - _ip = _socket->peerAddress().toString(); - qDebug("*** Client %s created.", qPrintable(_ip)); + //_ip = _socket->peerAddress().toString(); + qDebug("*** Client %s created.", qPrintable(_socket->peerAddress().toString())); // Connect important signals connect(_socket, SIGNAL(disconnected()), this, SLOT(disconnect())); @@ -57,7 +61,7 @@ Client::~Client() qCritical("**** SOCKET DELETE IN DESTRUCTOR"); _socket->deleteLater(); } - qDebug("*** Client %s destroyed.", qPrintable(_ip)); + qDebug("*** Client %s destroyed.", qPrintable(_socket->peerAddress().toString())); } /******************************************************************************/ @@ -67,7 +71,7 @@ void Client::timerEvent(QTimerEvent* event) { if (_pingTimeout < QDateTime::currentMSecsSinceEpoch()) { - qDebug() << "Client" << _ip << "has a ping timeout."; + qDebug() << "Client" << _socket->peerAddress().toString() << "has a ping timeout."; killTimer(_timerPingTimeout); this->disconnect(); } @@ -79,20 +83,6 @@ void Client::timerEvent(QTimerEvent* event) _timerIdAuthTimeout = 0; this->disconnect(); } - else if (event->timerId() == _timerDelete) - { - if (_socket == NULL || _socket->state() == QAbstractSocket::UnconnectedState) - { - if (_socket != NULL) - _socket->deleteLater(); - _socket = NULL; - killTimer(_timerDelete); - this->deleteLater(); - return; - } - _socket->abort(); - qDebug("A socket is still pending..."); - } else killTimer(event->timerId()); } @@ -105,7 +95,7 @@ void Client::sendMessage(NetworkMessage& message) message.writeMessage(_socket); if (!message.writeComplete()) { - qCritical() << "SendMessage to client " << _name << "@" << _ip << " failed!"; + qCritical() << "SendMessage to client " << _name << "@" << _socket->peerAddress().toString() << " failed!"; } } @@ -187,7 +177,7 @@ void Client::handleMsg() { if (_vncPort <= 0) { - qDebug() << "Starting VNC server on client" << _name << " (" << _ip+_vncPort << ") failed."; + qDebug() << "Starting VNC server on client" << _name << " (" << _socket->peerAddress().toString()+_vncPort << ") failed."; // TODO: Show message on manager } else @@ -318,7 +308,7 @@ void Client::startVncClient(const Client * const to) { NetworkMessage msg; msg.setField(_ID, _VNCCLIENT); - msg.setField("HOST", to->_ip); + msg.setField("HOST", to->_socket->peerAddress().toString()); msg.setField("PORT", QString::number(to->_vncPort)); msg.setField("ROPASS", to->_vncRoPass); msg.setField("CLIENTID", QString::number(to->_id)); @@ -356,12 +346,10 @@ void Client::setTutor(bool enable) /******************************************************************************/ void Client::disconnect() { - if (_timerDelete == 0) - { - _timerDelete = startTimer(500); - qDebug("*** Client %s disconnected.", qPrintable(_ip)); - _socket->blockSignals(true); - _socket->abort(); - emit disconnected(); - } + qDebug("*** Client %s disconnected.", qPrintable(_socket->peerAddress().toString())); + _socket->blockSignals(true); + _socket->abort(); + _socket->deleteLater(); + this->deleteLater(); + emit disconnected(); } -- cgit v1.2.3-55-g7522