Seite 1 von 1

Probleme mit QTcpSocket

Verfasst: 3. Mai 2007 16:53
von Christian1983
Hallo,

ich habe ein Problem mit einer TCP Verbindung. Gibt es eine Möglichkeit die Daten binär auszulesen ? Ich kenne die "read-Funktion" nur so das man sich das Telegramm in einen Buffer schreibt, der vom Typ BYTE ist und dann byteweise ausliest.

Mit dem QByteArray gibt es da für mich Probleme. Ich bekomme die Daten nicht wieder nach meiner Telegrammstruktur zusammengefügt. Die Struktur besteht aus mehreren longs !!!

Ich arbeite mit Debian und verwendet QT4.2.


Wer hat einen Tipp für mich ?

Gruß
Christian1983

Verfasst: 3. Mai 2007 17:18
von upsala

Code: Alles auswählen

QByteArray arr;

long data=arr[3]<<24|arr[2]<<16|arr[1]<<8|arr[0];

Oder andersrum, je nachdem wie gesendet wurde...

Verfasst: 4. Mai 2007 12:19
von Christian1983
Hallo Upsala,

danke für deine schnelle Antwort... Leider funktioniert dies nur mit einem belegten Byte, also bspw.

Byte 0 Byte 1 Byte 2 Byte 3
00 00 00 0064 = Ausgabe = 100;

Wenn mehere Bytes mit Inhalten belegt sind funktioniert dies nicht mehr:

Byte 0 Byte 1 Byte 2 Byte 3
00 00 27 0F = Ausgabe = 1920 und soll sein 9999;

Gibt es eine Möglichkeit die einzelnen Bits mit der richtigen Wertigkeit wieder zusammenzurechnen ??

Verfasst: 4. Mai 2007 18:16
von upsala
Das sind Grundlagen der EDV im Allgemeinen... Eigentlich sollte es dir schon peinlich sein, daß du diese Frage gestellt hast...

Verfasst: 4. Mai 2007 19:24
von Christian1983
Hallo Upsala,

also peinlich ist mir hier schon mal gar nichts... "Mut zur Lücke" ist meine Devise :)

Natürlich weiß ich das das auch in jedem Tabellebuch steht :)

Mach dir also keine Sorgen !!

Übrigens: Das Problem habe ich anders gelöst !!

Danke für deine Postings !!!