Безопасно ли использовать сериализацию boost для сериализации объектов в C ++ в двоичный формат для использования через сокет? - PullRequest
6 голосов
/ 21 февраля 2010

Я знаю, что вы можете использовать сериализацию Boost для сериализации в текстовый формат, а затем протолкнуть сокет, но я хотел бы сериализовать класс статистических данных в двоичный формат (как по размеру, так и по причине накладных расходов на кодирование / декодирование ). Безопасно ли для этого использовать сериализацию наддува?

Мои особые заботы:

  1. Различия между размерами целочисленных типов на разных платформах (в основном 32-битные и 64-битные).
    Хотя я могу в значительной степени обойти это, используя целочисленное значение из stdint, я все же хотел бы понять поведение.
  2. Различия в порядке байтов между системами, стимулирует ли сериализацию к стандартному порядку байтов (например, сетевое упорядочение), а затем десериализовывается с использованием порядка байтов хоста?

Это очень хорошая библиотека, но, к сожалению, документация по ее двоичным возможностям несколько ограничена, поэтому я просто хочу убедиться, что ее использование таким образом будет безопасным.

Ответы [ 3 ]

5 голосов
/ 21 февраля 2010

Это доступно, я много слышал о протобуфе Google. Имеет привязку C и C ++ .

5 голосов
/ 21 февраля 2010

Нет, в общем случае повышение двоичное сериализация не зависит от машины. Смотри здесь .

1 голос
/ 10 марта 2011

Вы должны проверить Apache Thrift . Он был разработан Facebook для кроссплатформенной сериализации / десериализации.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...