send/recv mit eigenen Datentypen?
-
Hi
Ich möchte in einer Client-Server Struktur einen selbstgebauten Datentyp vom Client zum Server versenden (und zurück).
Das Problem:
Die send und recv-Funktionen übernehmen nur char-Arrays.Gibt es da noch andere Möglichkeiten, vielleicht andere Funktionen?
-
es werden logischerweise nur plain daten uebertragen. aber was ist ein int denn anderes als eine ansammlung von bytes?
also einfach dein objekt packen, und versenden. der empfaenger muss nur wissen was das fuer ein objekt ist um es wieder richtig interpretieren zu koennen.
-
in seinem beispiel "streams" läßt hume eine datei binary auslesen und packt sie danach in ein objekt hinein (struct PERSON)
http://www.c-plusplus.net/forum/viewtopic.php?t=39469ähnlich von der idee...
-
Ah ja, und wie wird das "gepackt"?
edit: Ups da war jemand schneller als ich, Danke
-
die Methode hat aber den Nachteil, dass sie vom Compiler und der Platform abhängig ist! Wandel die Daten lieber in einen String um, den du dann wieder zurückparst
(zB. folgendes
struct demo { int i; double d; };
zu
demo[<i>;<d>]
<i> und <d> dann durch die entspr. Zahl ersetzt)
-
Kenni schrieb:
Hi
Ich möchte in einer Client-Server Struktur einen selbstgebauten Datentyp vom Client zum Server versenden (und zurück).
Das Problem:
Die send und recv-Funktionen übernehmen nur char-Arrays.Gibt es da noch andere Möglichkeiten, vielleicht andere Funktionen?
char-Arrays stehen oft fuer Zeiger auf Bytedaten. Deine eigenen Datentypen kannst du da kganz normal reinkloppen als Zeiger, musst halt einfach casten.