[gelöst] [QT4, MSVC] QAbstract bzw. QTcpSocket

Alles rund um die Programmierung mit Qt
Antworten
m.trix
Beiträge: 49
Registriert: 12. Oktober 2005 09:51
Wohnort: Manhattan

[gelöst] [QT4, MSVC] QAbstract bzw. QTcpSocket

Beitrag von m.trix »

Hallo zusammen. Ich bin mal wieder am verzweifeln.

Erst mal eine kleine Erklärung:
Ich hab ein tool das sich mit einem Server verbindet. Nach erfolgreicher Verbindung, schickt der Server einen dicken (~4500Byte) Batzen an Daten zu mir. Soweit so gut, den Socket mir readyRead() verbunden. Klappt auch.

Aber:
Mit bytesAvailable() werden mir die Bytes auch angezeigt, was aber dann im QByteArray nach m_pTCP->readAll() drin ist, ist ca. nur ein Achtel (!) der Datenmenge. Lustigerweise, zeigt mir der Studio Debugger auch an, das es 4500Byte sind. Aber da stehen echt nur ein paar Fragmente drin...


Hab schon versucht es über QDataStream zu machen, klappt nicht, ins Array wird nix geladen, hab versucht mittels der Beispiele draufzukommen, klappt nicht, weil die netterweise die Packte immer mit der Größe voran schicken/empfangen.
Noch lustiger ist, dass wenn ich mit m_pTCP->setReadBufferSize() den buffer sehr klein mache (~100Bytes), wird readyRead() nach jedem vollen buffer geworfen, und ich könnte mir 'theoretisch' dann ein Array mit den Daten zusammen schustern. Will aber hier niemand.

Code gibt's dazu keinen, ist echt nur der slot der nach readyRead() 'eigentlich' alle anliegenden Daten in ein QByteArray werfen soll. Soll.

Ich hab echt keinen Plan. Kann jemand evtl. mit einem Beispiel weiterhelfen, dass nicht gerade so nette, perfekte Packte wie die Qt-Bsp bastelt und empfängt?


Ich hoff das hat jemand verstanden...
macman
Beiträge: 1738
Registriert: 15. Juni 2005 13:33
Wohnort: Gütersloh
Kontaktdaten:

Re: [QT4, MSVC] QAbstract bzw. QTcpSocket

Beitrag von macman »

Was wird denn geschickt, Binärdaten? Dann kannst Du das Ganze nicht wie einen String behandeln. Und ohne Code wird keiner Lust auf eine Fragestunde haben.
m.trix
Beiträge: 49
Registriert: 12. Oktober 2005 09:51
Wohnort: Manhattan

Beitrag von m.trix »

Kann ich mir schon vorstellen... :(

Binär sind die Daten nicht. Aber es scheint sich gelüftet zu haben. Der Programmiereer der das Protokoll geschrieben hat, hat offenbar einen Fehler in der Implementierung fabriziert. D.h. für mich, dass mein Vorgehen korrekt war, aber die Daten fehlerhaft und nicht weiter zuverarbeiten waren. Wenn das geändert wird, kann ich auch weiterhin ganz normal die Qt-Methoden anwenden.

Aber Danke für den Tip. :wink:

@Moderation:
Nachdem das ja nun eigentlich hier nix mehr zu suchen hat, kann man den thread schliesen oder löschen.
Antworten