Seite 1 von 1

Hilfe bei TCP Server

Verfasst: 22. März 2012 17:12
von Seppel
Hallo.

Ich habe ein Problem beim Implementieren eines TCP Servers. Als Grundlage verwende ich das Beispielprojekt "threadedfortuneserver".
Die Verbindung zwischen Client und Server wird aufgebaut, dedoch wird Text, den ich vom Client zum Server schicke nicht vom "readyRead()" SIGNAL gemeldet.

Kann mir jemand helfen und verraten, warum das Signal nicht kommt? Zum Testen der TCP Verbindung benutze ich clientseitig "Putty" über die "RAW Verbindung" auf "localhost" und den entsprechenden Serverport.

Code: Alles auswählen

#include "fortunethread.h"

FortuneThread::FortuneThread(int socketDescriptor, QObject *parent) :
		QThread(parent), socketDescriptor(socketDescriptor) {
}

void FortuneThread::run() {
	this->mTcpSocket = new QTcpSocket;
	if (!mTcpSocket->setSocketDescriptor(socketDescriptor)) {
		emit error(mTcpSocket->error());
		return;
	}

	//Daten empfangen
	connect(mTcpSocket, SIGNAL(readyRead()), this, SLOT(startRead()));
}

void FortuneThread::startRead() {
	char buffer[2048] = { 0 };
	mTcpSocket->read(buffer, mTcpSocket->bytesAvailable());

	//Daten sollten hier zur Verfügung stehen

	mTcpSocket->disconnectFromHost();
	mTcpSocket->waitForDisconnected();
}
Viele Grüße
Seppel

Re: Hilfe bei TCP Server

Verfasst: 23. März 2012 07:53
von Christian81
Und wie lange läuft dein Thread wenn Du kein exec() aufrust?

Re: Hilfe bei TCP Server

Verfasst: 23. März 2012 08:10
von Seppel
Danke! Das wars. Shit. Übersehen.