Block connection fixes for chat cleaner, use new Qt5 feature to stop accepting connections.

This commit is contained in:
lotodore
2013-08-30 10:38:00 +02:00
parent 94e39d52b4
commit 839c3db99a
+6 -6
View File
@@ -78,13 +78,12 @@ CleanerServer::~CleanerServer()
void CleanerServer::newCon() void CleanerServer::newCon()
{ {
if(blockConnection) { if(!blockConnection) {
tcpServer->nextPendingConnection()->close();
} else {
tcpSocket = tcpServer->nextPendingConnection(); tcpSocket = tcpServer->nextPendingConnection();
connect(tcpSocket, SIGNAL(readyRead()), this, SLOT(onRead())); connect(tcpSocket, SIGNAL(readyRead()), this, SLOT(onRead()));
connect(tcpSocket, SIGNAL(stateChanged(QAbstractSocket::SocketState)), this, SLOT(socketStateChanged(QAbstractSocket::SocketState))); connect(tcpSocket, SIGNAL(stateChanged(QAbstractSocket::SocketState)), this, SLOT(socketStateChanged(QAbstractSocket::SocketState)));
blockConnection = true; blockConnection = true;
tcpServer->pauseAccepting();
} }
} }
@@ -131,7 +130,6 @@ void CleanerServer::onRead()
if (error) { if (error) {
qDebug() << "Error handling packets from client."; qDebug() << "Error handling packets from client.";
tcpSocket->close(); tcpSocket->close();
blockConnection = false;
} }
/* char buf[1024]; /* char buf[1024];
@@ -206,9 +204,11 @@ bool CleanerServer::handleMessage(ChatCleanerMessage &msg)
void CleanerServer::socketStateChanged(QAbstractSocket::SocketState state) void CleanerServer::socketStateChanged(QAbstractSocket::SocketState state)
{ {
qDebug() << "Socket state changed to: " << QAbstractSocket::UnconnectedState; qDebug() << "Socket state changed to: " << QAbstractSocket::UnconnectedState;
if(state == QAbstractSocket::UnconnectedState) blockConnection = false; if (state == QAbstractSocket::UnconnectedState) {
blockConnection = false;
tcpServer->resumeAccepting();
}
} }
void CleanerServer::refreshConfig() void CleanerServer::refreshConfig()