Frage zu QThread (run-Methode)
Verfasst: 14. Oktober 2008 10:32
Hallo. Ich habe einen Server, der jede eingehende Verbindung in einem extra Thread behandelt.
Hier die run-Methode des ConnectionThreads.
Bei diesem Code bekomme ich eine Meldung zurück:
QObject: Cannot create children for a parent that is in a different thread.
Das liegt an dieser write()-Methode, die ich dort aufrufe.
Wie kann ich das anders lösen, dass es aber immerhin noch als extra Thread läuft und nicht meinen ganzen Server blockt?
Ich erbitte dringend eure Hilfe.
Hier die run-Methode des ConnectionThreads.
Code: Alles auswählen
void ClientConnectionThread::run() {
try
{
if(this->socket->waitForReadyRead(-1))
{
//eingehende Daten überprüfen / verarbeiten
//und dann einen Wert zurückliefern
this->socket->write("Hallo",5);
}
}
catch(QString)
{
qDebug("Socket existiert nicht");
}
exec();
}
QObject: Cannot create children for a parent that is in a different thread.
Das liegt an dieser write()-Methode, die ich dort aufrufe.
Wie kann ich das anders lösen, dass es aber immerhin noch als extra Thread läuft und nicht meinen ganzen Server blockt?
Ich erbitte dringend eure Hilfe.