QTcpSocket und state() ...

Alles rund um die Programmierung mit Qt
Antworten
Real-TTX
Beiträge: 3
Registriert: 19. Dezember 2009 16:14

QTcpSocket und state() ...

Beitrag von Real-TTX »

Hallo Gemeinde :)

Habe eine kleine Frage bezgl des folgenden Codes, der leider nicht funktioniert :

Code: Alles auswählen

QString Test::Connect(QString Host, qint16 Port)
{
    QString strRec;
    Sock->connectToHost(Host, Port);
    
    while (Sock->state() != QAbstractSocket::ConnectedState);

    strRec = Sock->readLine();
    strRec = strRec.trimmed();
    return strRec;
}
Bei der While-Schleife hängt er sich immer auf. Wenn ich aber anstelle der While folgendes Nutze, geht es :/

Code: Alles auswählen

 Sock->waitForReadyRead(100); 

Hat da jemand eine Idee :)

Bin für jede Kleinigkeit dankbar...

Gruß
upsala
Beiträge: 3946
Registriert: 5. Februar 2006 20:52
Wohnort: Landshut
Kontaktdaten:

Beitrag von upsala »

Es hängt sich nicht auf. Es wartet auf deine Event-Schleife. Wo startest du die?
Real-TTX
Beiträge: 3
Registriert: 19. Dezember 2009 16:14

Beitrag von Real-TTX »

Erstmal Danke für die Antwort :)

Event-Schleife? Was ist das ? :oops:
upsala
Beiträge: 3946
Registriert: 5. Februar 2006 20:52
Wohnort: Landshut
Kontaktdaten:

Beitrag von upsala »

Hast du dich schon mal mit den Grundlagen von Qt vertraut gemacht? Hast du dir schon mal die Examples angeschaut?

Code: Alles auswählen

Programming with a blocking socket is radically different from programming with a non-blocking socket. A blocking socket doesn't require an event loop and typically leads to simpler code. However, in a GUI application, blocking sockets should only be used in non-GUI threads, to avoid freezing the user interface. See the network/fortuneclient and network/blockingfortuneclient examples for an overview of both approaches.
Antworten