Konzeptproblem

Alles rund um die Programmierung mit Qt
Antworten
dazedly
Beiträge: 197
Registriert: 3. Oktober 2010 15:38
Kontaktdaten:

Konzeptproblem

Beitrag von dazedly »

Ich bin gerade dabei einen xmlrpc Server gegen einen eigenen Server mit eigenem Protokol zu schreiben. Das Protokoll ist fast fertig und erfüllt schon fast alle erwünschten Anforderungen. Jetzt habe ich nur folgendes Problem:
Es soll zwischen Server und Client nur eine bestehende Verbinung existieren. Im Code habe ich dann mehrere Stellen, welche auf diese Verbindung zugreifen sollen und eine Anfrage abschicken und auf diese dann eine Antwort erhalten sollen.
Könnt ihr mir Tipps geben, wie ich genau diesen Vorgang gestalten soll?

Eine Verbindung kann ich schon aufbauen und die Pakete können Client und Server auch schon "verstehen".
Christian81
Beiträge: 7319
Registriert: 26. August 2004 14:11
Wohnort: Bremen
Kontaktdaten:

Beitrag von Christian81 »

Also nur kurz - wir haben ein ähnliches Problem
Wir haben ein (mehr oder weniger globales) Kommunikationsobjekt welches Funktionen zu Anfrage bereitstellt und ankommende Pakete auswertet und diese per Signals weiterverteilt. Mehr eigentlich nicht.
MfG Christian

'Funktioniert nicht' ist keine Fehlerbeschreibung
dazedly
Beiträge: 197
Registriert: 3. Oktober 2010 15:38
Kontaktdaten:

Beitrag von dazedly »

Mir ist jetzt nur nicht klar, wie ich auf mein bestehendes Clientobjekt Global zugreifen soll.
Christian81
Beiträge: 7319
Registriert: 26. August 2004 14:11
Wohnort: Bremen
Kontaktdaten:

Beitrag von Christian81 »

Must Du doch nicht - das ist nur bei uns der Fall
MfG Christian

'Funktioniert nicht' ist keine Fehlerbeschreibung
dazedly
Beiträge: 197
Registriert: 3. Oktober 2010 15:38
Kontaktdaten:

Beitrag von dazedly »

Ich habe jetzt aus meiner Client Klasse eine Singelton gemacht und versuche mit der Klasseninstanz das QTcpSocket zu benutzen. Ich bekomme aber folgenden Fehler:

QNativeSocketEngine::write() was not called in QAbstractSocket::ConnectedState

Den Pointer den ich über die Instanz bekomme, ist der selbe der auch zum Connecten benutzt wird. Ich habe keine Idee mehr :(
dazedly
Beiträge: 197
Registriert: 3. Oktober 2010 15:38
Kontaktdaten:

Beitrag von dazedly »

waitForConnected war das Zauberwort. Jetzt ist nur noch die Frage, wie ich an die Daten komme für den return meiner Funktion.

Code: Alles auswählen


Client client;
	client.connectToServer();
  	PacketRequest *bla = new PacketRequest;
 	PacketResponse response = Client::getInstance()->sendPacket(bla);
Habt ihr eine Idee?
Antworten