LINUX.ORG.RU

Сериализация обьектов на С++


0

0

Здравствуйте.

Вот такой вопрос: нужно дабы клиент посылал серверу обьект, а сервер его "распаковывал" и юзал. Что-то типа имплементации интерфейса Serializable на Java. Как это сделать на С++? В принципе, CORBA (TAO, D-BUS или даже DCOP) решали бы мою задачу, но хочется как-то все єто обойти, да и разобраться с этой небезынтересной темой.

Спасибо.

anonymous

да мельчают нынешние разработчики

anonymous
()
Ответ на: комментарий от kosmonavt

>да мельчают нынешние разработчики

Это в каком смысле. Если вам хотелось обсудить вопрос реализации - то по пожалйста.

kosmonavt
()

а может подойдёт связка libglade_mm + glib_mm????

хотя не уверен что она сможет передать все типы обьектов/классов.

cvv ★★★★★
()
Ответ на: комментарий от kosmonavt

А почему кривое и некорректное?

anonymous
()

Смотри boost - вроде там как в питоне сделано (или наоборот?)))), но в питоне эта штука сделано хорошо, и работает стабильно.

Если делать самому вылезает куча проблем, их решать моно но мутотно. ВО перовых нужна порождающая функция для объекта, котрая перед т=ем как читать с-но данные объекта этот объект создаст, причем нужного типа. Смысл передавать содержимое (хоть как дамп хоть еще как), если сервер не знает заранее чего с ним делать?? для какого класса вызывать все эти конструкторы???? Решается на уровне протокола (нуно написать сначала какой тип) и реализуется в прост. виде через охренный свитч...

во вторых проблема (более интересная) с перекрестными ссылками - если послать напр. закольцованный список, то можно улететь в бесконечное рекурсию, что при посылке что при разборе... лечиться присваиванием уникальных ID (в рамках одной сессии сериализации) кадому сериализуемому объекту.

AIv ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.