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".
Konzeptproblem
-
Christian81
- Beiträge: 7319
- Registriert: 26. August 2004 14:11
- Wohnort: Bremen
- Kontaktdaten:
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.
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
'Funktioniert nicht' ist keine Fehlerbeschreibung
-
Christian81
- Beiträge: 7319
- Registriert: 26. August 2004 14:11
- Wohnort: Bremen
- Kontaktdaten:
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
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
waitForConnected war das Zauberwort. Jetzt ist nur noch die Frage, wie ich an die Daten komme für den return meiner Funktion.
Habt ihr eine Idee?
Code: Alles auswählen
Client client;
client.connectToServer();
PacketRequest *bla = new PacketRequest;
PacketResponse response = Client::getInstance()->sendPacket(bla);