QTcpServer

Alles rund um die Programmierung mit Qt
Antworten
grisu_1972
Beiträge: 13
Registriert: 5. September 2008 10:54

QTcpServer

Beitrag von grisu_1972 »

Hallo Leute,

ich möchte eine QTcpServer bereitstellen, dieser soll eingehende Nachrichten beantworten.
Ich bin mir nicht sicher, ob ich das Konzept des QTcpServers richtig verstanden habe und möchte auf diesem Weg nachfragen!

Ich habe eine Klasse die als Member einen QTcpServer hat.
Dieser Server erkennt anhand des Signals "newConnection()" das eine Cient eine neue Verbindung anfordert.
Darauf wird die mittels "tcpServer->nextPendingConnection()" eine QTcpSocket abgeholt. Und dann fangen meine Probleme an, ich muss diese QTcpSocket irgendwie verwalten, da ich nicht einzelne Anfragen bearbeiten möchte sondern die Verbindung halten möchte!
Da habe ich natürlich das Problem, das ich durch das Signal "readyRead()" mitbekomme, das eine neue Botschaft eingetroffen ist, ich weiß aber nicht von welchem Client!


Wie löse ich das Problem am besten? Brauche ich eine Klasse z.B. class offenVerbindungen die von QTcpSocket abgeleitet ist um die Verbindungen zu verwalten?

Grüße Carsten
macman
Beiträge: 1738
Registriert: 15. Juni 2005 13:33
Wohnort: Gütersloh
Kontaktdaten:

Re: QTcpServer

Beitrag von macman »

grisu_1972 hat geschrieben:da ich nicht einzelne Anfragen bearbeiten möchte sondern die Verbindung halten möchte!
Wenn der Client die Verbindung beendet, dann gibt es auch nichts zu halten. Alles andere findest Du im fortuneserver Example.
Die deutsche Schriftsprache ist case-sensitive. Außerdem gibt es eine Interpunktionsnorm. Wenn manch einer seine Programme genauso schlampig schreibt, wie sein Posting hier, dann sollte er es lieber bleiben lassen.
solarix
Beiträge: 1133
Registriert: 7. Juni 2007 19:25

Beitrag von solarix »

Da habe ich natürlich das Problem, das ich durch das Signal "readyRead()" mitbekomme, das eine neue Botschaft eingetroffen ist, ich weiß aber nicht von welchem Client!
klingt für mich wie ein Fall für http://doc.trolltech.com/4.4/qsignalmapper.html :
The QSignalMapper class bundles signals from identifiable senders.
Christian81
Beiträge: 7319
Registriert: 26. August 2004 14:11
Wohnort: Bremen
Kontaktdaten:

Beitrag von Christian81 »

solarix hat geschrieben: klingt für mich wie ein Fall für http://doc.trolltech.com/4.4/qsignalmapper.html :
Nein - schlimmer - das ist ein Fall von nicht Doku lesen. QTcpServer erzeugt für jeden Client ein QTcpSocket... aber wie gesagt das ist alles sehr schön im fortuneserver example zu sehen.
MfG Christian

'Funktioniert nicht' ist keine Fehlerbeschreibung
Antworten