Übertragung von Binärdaten (Unterschiedliche Plattformen)
-
Hi,
ich würde gerne ein Server-Programm programmieren, das Bilder, Programme oder ähnliches binär an die verbundenen Clients überträgt. Dabei können die Clients durchaus unterschiedliche Systeme verwenden.
Konkret:
Ich habe keine Probleme bei der Umsetzung, aber habe die Befürchtung, dass aufgrund der unterschiedlichen Architekturen Fehler entstehen (E.B. Endianess), so dass die Binärdaten plötzlich unbrauchbar werden, weil sie falsch zusammengesetzt wurden oder so...Ist das ein mögiches Problem oder muss ich mir da ausnahmsweise mal keine Sorgen machen?
Danke
SocketUser
-
Nein, du musst dir keine Sorgen machen.
Ein Datenblock wird so ankommen, wie du ihn gesendet hast.
-
Er wird so ankommen, wie du ihn gesendet hast, ja - aber er wird ggf. anders interpretiert, eben wegen unterschiedlicher Endianess.
Du wirst dich fuer Little oder Big-Endian entscheiden muessen und ggf. eine Konvertierung einbauen, wenn das aktuelle System sich davon unterscheidet.Du musst das Rad aber nicht neu erfinden und kannst mal schauen, ob dir die beiden hier genannten Funktionen zusagen.
-
Die Endianness ist schon im Dateiformat festgelegt, darum musst du dich also nicht mehr kümmern, da du nur noch Bytes überträgst. Ich versteh das doch richtig, dass du Bild-Dateien, Programm-Dateien usw. übertragen willst.