QTCPSocket Stream unvollständig



  • Ich habe den gleichen Verbindungsaufbau wie im QT-Beispiel [1]. Der Client soll auch hier vom Server eine Zeichenfolge lesen. Der Response vom Server übertragt am Anfang die Message-Größe. Ich lese nun solange ein, bis der Socket soviele Daten gelesen hat. Die zentrale Methode ist hier void Client::readFortune().
    Anders als im Qt-Beispiel [1] wird jedoch QDataStream nicht gefüllt

    QDataStream in(tcpSocket);
    in.setVersion(QDataStream::Qt_4_2);
    ...
    QString nextFortune;
    in >> nextFortune; // leerer String
    

    und der Socket hat nicht alle Daten:

    QByteArray buffer = tcpSocket->read( blockSize ); // buffer nicht vollständig.
    

    Wo liegt das Problem?

    [1] http://doc.trolltech.com/4.4/network-fortuneclient.html


Anmelden zum Antworten