Probleme mit QTcpSocket

Alles rund um die Programmierung mit Qt
Antworten
Christian1983
Beiträge: 7
Registriert: 31. Januar 2007 19:21
Kontaktdaten:

Probleme mit QTcpSocket

Beitrag 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
-------------------------
Grüsse
Christian1983
upsala
Beiträge: 3946
Registriert: 5. Februar 2006 20:52
Wohnort: Landshut
Kontaktdaten:

Beitrag 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...
Christian1983
Beiträge: 7
Registriert: 31. Januar 2007 19:21
Kontaktdaten:

Beitrag 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 ??
-------------------------
Grüsse
Christian1983
upsala
Beiträge: 3946
Registriert: 5. Februar 2006 20:52
Wohnort: Landshut
Kontaktdaten:

Beitrag von upsala »

Das sind Grundlagen der EDV im Allgemeinen... Eigentlich sollte es dir schon peinlich sein, daß du diese Frage gestellt hast...
Christian1983
Beiträge: 7
Registriert: 31. Januar 2007 19:21
Kontaktdaten:

Beitrag 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 !!!
-------------------------
Grüsse
Christian1983
Antworten