Ist es sicher, Boost-Serialisierung zu verwenden, um Objekte in C ++ in ein Binärformat für die Verwendung über einen Socket zu serialisieren?

Ich weiß, dass Sie Boost-Serialisierung verwenden können, um in ein Textformat zu serialisieren und dann über einen Socket zu verschieben, aber ich möchte eine Klasse von Statistikdaten in ein Binärformat serialisieren (sowohl aus Gründen der Größe als auch der Codierung / Decodierung). Ist es sicher, hierfür die Boost-Serialisierung zu verwenden?

Meine spezifischen Sorgen sind:

Unterschiede zwischen ganzzahligen Schriftgrößen auf verschiedenen Plattformen (hauptsächlich 32-Bit gegenüber 64-Bit).
Obwohl ich dies weitgehend umgehen kann, indem ich eine genau bemessene Ganzzahl aus stdint verwende, möchte ich das Verhalten dennoch verstehen.Unterschiede in der Endianität zwischen Systemen: Wird die Serialisierung zu einer Standardendianität (z. B. Netzwerkreihenfolge) und die Deserialisierung dann mit der Endianität des Hosts durchgeführt?

Es ist eine sehr schöne Bibliothek, aber leider ist die Dokumentation der Binärfunktionen etwas eingeschränkt, daher möchte ich nur sicherstellen, dass die Verwendung auf diese Weise sicher ist.

Antworten auf die Frage(3)

Ihre Antwort auf die Frage