der Titel sagt eigentlich schon alles, nach der Portierung von Qt 4.4.3 auf Qt 4.7.3 funktioniert eine bestimmte Anwendung nicht mehr korrekt.
Nach dem Connect zum Server verändert sich der Status nicht und bleibt bei Connecting, ein DNSLookup hat scheinbar stattgefunden. Es wird auch kein Signal error oder connected abgesetzt.
Eine zweite - weitaus schlankere - Test-Anwendung funktioniert völlig problemlos.
Ich habe so ziemlich alles ausprobiert, was mir eingefallen ist. Ich bete darum, dass euch noch etwas passendes einfällt.
Mir schwebt da etwas in Richtung EventLoop vor, kann mir aber nicht erklären was es da sein könnte. Es müsste sich also zwischen Version 4.4.3 und 4.7.3 dahingehend etwas geändert haben. Leider verraten mir die 13 Changelogs auch nichts zu dem Thema.
Was ich noch sehen konnte, ist die komische Funktionsweise des Servers, dessen Vorgehensweise wie folgt aussieht:
Code: Alles auswählen
QTcpSocket tcpSocket;
if (!tcpSocket.setSocketDescriptor(socketDescriptor))
{
emit error(tcpSocket.errorString());
return;
}
if (!tcpSocket.waitForConnected(5000))
{
emit error(tcpSocket.errorString());
return;
}
qDebug() << QString("Client-Thread started (%1)").arg(objectName());
while (true)
{
if (!tcpSocket.waitForReadyRead(-1))
{
emit error(tcpSocket.errorString());
return;
}
QString request;
request = tcpSocket.readAll();
if (request.size() == 0)
{
//QMessageBox::error(0, "", "incoming message has length 0");
}
qDebug() << request;
}
Hoffentlich hat jemand einen guten Rat für mich.
Gruß, KK