Wie kann ich Daten mit C++ binär versenden?

Hallo Leute!
Ich befasse mich seit neustem mit Sockets bei c++. Klappt auch alles ganz prima, nur dass ich nicht die geringste Idee habe, wie ich wohl Daten/Informationen binär verschicken kann.
Ich finde überall nur die Funktion send(), und mit der kann man ja nur Daten vom Typ char versenden. Aber es MUSS doch möglich sein eine benäre Nachricht zu verschicken! :frowning:
Achja: ich programmiere auf Windoof(falls ws da unterschide gibt)

Howdy,

Ich finde überall nur die Funktion send(), und mit der kann
man ja nur Daten vom Typ char versenden. Aber es MUSS doch

wieso denn das? Natürlich kann man mit send() beliebige binäre Daten verschicken. Du musst nur den Pointer und die Länge korrekt setzen.

… und wenn deine Daten auf einem Rechner ankommen, der eine andere Byteorder hat, dann musst du deine Daten vor dem verschicken natürlich noch konvertieren.

Gruss
norsemanna

Wenn ein anderes Object ausser ein char array senden willst, muss du es in ein char array verwandeln. Bei den primitiven Datentypen siht das so aus:
zeiger=&var
lenge=sizeOf(var)/sizeOf(char)

Bei objekten mit zeigern muss man schon ne Methode schreiben, die einen string zurückgiebt, der alle informationen enthält. umgekehrt musst du auf der anderen seite eine statische Methode schreiben, die das Objekt wider ausließt.

gibts eigentlich ne funktion, mit der man die primitiven datentypen in ein einheitliches Format auf allen Systemen bringt? So, dass man einen float mit 4Byte versenden kann und auf der anderen seite ohne verluste wieder zurückwandeln? bis jetzt habe ich sie immer in zeichenketten umgewandelt, das braucht aber viel mehr platz. Bei ints gibts ja eigentlich nur big und little endian, bei Fließkommazahlen ist das wahrscheinlich weniger einfach.