serializar serializacion objeto deserializar binaria c++ serialization boost networking tcp

serializacion - ¿Es seguro usar la serialización de refuerzo para serializar objetos en C++ a un formato binario para usar sobre un socket?



serializar objeto c# xml (3)

Sé que puede usar la serialización de impulso para serializar a un formato de texto y luego presionar sobre un socket, pero me gustaría serializar una clase de datos de estadísticas en un formato binario (tanto para el tamaño como para los gastos generales de codificación / decodificación). ¿Es seguro usar la serialización de impulso para esto?

Mis preocupaciones específicas son:

  1. Diferencias entre los tamaños de tipo entero en diferentes plataformas (principalmente 32 bits frente a 64 bits).
    Aunque en gran medida puedo evitar esto usando enteros de tamaño exacto de stdint, aún me gustaría entender el comportamiento.
  2. Las diferencias en endianness entre los sistemas, aumenta la serialización en un endian-ness estándar (por ejemplo, ordenamiento de la red), y luego deserializar utilizando endianness del host?

Es una biblioteca muy agradable, pero desafortunadamente la documentación sobre sus capacidades binarias es algo limitada, así que solo quiero asegurarme de que usarla de esta manera sería seguro.


Está disponible, he estado escuchando mucho sobre protobuf de Google. Tiene un enlace C y C ++ .


Deberías echarle un vistazo a Apache Thrift . Fue diseñado por Facebook para serialización / deserialización multiplataforma.


No, en general la serialización binaria de impulso no es independiente de la máquina. Mira aquí .