wie versende ich eine struktur
-
hallo,
ich möchte eine struktur mit der funktion "send" versenden. bekomme leider immer einen Fehler und zwar das er aus der strktur kein const char * machen kann.
Weiß einer was?
-
Du musst es casten. Beachte auch dabei, dass das "packing" der Struktur auf beiden Seiten korrekt bekannt und gesetzt sein muss!
Wobei ich abrate Strukturen zu versenden, sondern Du solltest Dir ein definiertes Protokoll für die TCP-Kommunikation definieren und dann dieses verwenden. So bist Du unabhängig, falls sich in Deiner Struktur was ändert...
-
reinterpret_cast heißt das Zauberwort

(das könnte eventuell Probleme geben, wenn du Pointer-Elemente hast)TData data; ... send(sock,reinterpret_cast<void*>(&data),sizeof(TData),0); //in C: send(sock,(void*)&data,sizeof(TData),0);
-
Ja so dachte ich das auch mit send, aber wenn ich das mache sagt er
"cannont convert parameter 2 from 'void *' to 'const char *'...
-
Na, wenn er "const char*" will, castest du die Struktur halt nach "const char*" - wo ist da das Problem?
-
*sich gegen den kopf haut
danke..