summaryrefslogtreecommitdiffstats
path: root/src/server/net/client.cpp
diff options
context:
space:
mode:
authorManuel Schneider2014-05-21 12:07:58 +0200
committerManuel Schneider2014-05-21 12:07:58 +0200
commit52f3b434a7d26c2cf7fb614ca14ada0b1abdb378 (patch)
tree494d91c39f93997c44280baf7ea3e56d94db052c /src/server/net/client.cpp
parentFix ip bug (diff)
downloadpvs2-52f3b434a7d26c2cf7fb614ca14ada0b1abdb378.tar.gz
pvs2-52f3b434a7d26c2cf7fb614ca14ada0b1abdb378.tar.xz
pvs2-52f3b434a7d26c2cf7fb614ca14ada0b1abdb378.zip
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
Diffstat (limited to 'src/server/net/client.cpp')
-rw-r--r--src/server/net/client.cpp56
1 files changed, 22 insertions, 34 deletions
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 <QSslSocket>
-#include <QHostAddress>
#include <QPixmap>
#include <cassert>
@@ -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();
}