Wie zu Lesen, die kompletten Daten in QTcpSocket?

Nun den server (mit java implementiert) senden einige stream-Daten zu mir, mein code ist wie folgt:

connect(socket, SIGNAL(readyRead()), this, SLOT(read_from_server()));

in der read_from_server():

{
    while (socket->bytesAvailable())
    {
        QString temp = socket->readAll();
    }
}

aber ich finde, dass auch der server schickte mir einen string mit nur mehrere Zeichen, werden die Daten abgeschnitten, und meine Funktion wird zweimal aufgerufen, so temp ist die nie die kompletten Daten, die ich will.
Wenn der server schickt mir eine längere Zeichenfolge, die Funktion kann aufgerufen werden, die drei oder mehr mal, was mich diffficult zu wissen, zu welcher Zeit die Daten vollständig übertragen.
Also wer kann mir sagen, wie vollständig die Daten empfangen problemlos, ohne so viele Schritte belästigen? Tut mir Leid, wenn diese doppelt vorhanden ist, mit einigen Fragen anders, ich konnte nicht Ihre Antworten, die für mich arbeiten. Vielen Dank!

InformationsquelleAutor yakiang | 2013-11-29

Schreibe einen Kommentar