Hilfe bei TCP Server
Verfasst: 22. März 2012 17:12
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.
Viele Grüße
Seppel
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();
}
Seppel