Hallo Bruno! Hallo Reinhard! > Ah, OK. Du deklarierst ein analoges struct auf der receiver Seite und > da passt es nicht mehr. Das Schlagwort hier heißt 'struct padding'. > > Zwei Alternativen: > > struct { > char[10]; > int; > } __atribute__((packed)); Danke. Das war, was ich gesucht habe! > oder du stellst das int einfach an den Anfang, natürlich auf sender > und receiver Seite > > struct { > int; > char[10]; > } Das geht schlecht, wenn die andere Seite schon so im Betrieb ist und nicht alles umgeschrieben werden kann, sonst hätten wir das char auch auf 4byte-Grenzen gemacht. > Generell, und insbesondere wenn binäre Daten über's Netzwerk gehen > sollen, empfiehlt es sich in structs die 'dicken Teile' an den Anfang > zu stellen, d.h. zumindest die Teile, die auf alignment boundaries > fallen. Und da kommt auch schon das nächste Problem. Die Zahlen (short, long) sind verdreht. Gibt es einen C-Befehl, Funktion, mir der man das machen kann. Danke im Voraus CU Michael -- Michael Ott, e-mail: michael@zolnott.de, www.zolnott.de I am registered as user #275453 with the Linux Counter, http://counter.li.org.
Attachment:
pgpNcrKfX9ZHh.pgp
Description: PGP signature