Существует ли простой способ сериализации данных в c ++ (либо в xml, либо в двоичном формате), а затем десериализации данных в C #?
Я работаю с некоторыми удаленными WINNT-машинами, которые не запускают .Net. Мое серверное приложение написано полностью на C #, поэтому я хочу простой способ обмена простыми данными (в основном пары ключ-значение, и, возможно, некоторое представление набора результатов SQL). Я полагаю, что лучшим способом будет запись данных в xml в некотором предопределенном формате на клиенте, передача файла xml на мой сервер и использование оболочки C # для чтения xml в пригодный для использования объект c #.
Клиент и сервер обмениваются данными по tcp-соединению, и я действительно хочу сериализировать данные в памяти на клиенте, передавать двоичные данные через сокет в поток памяти ac #, который я могу десериализовать в объект ac # (исключая создание файлов, передачу и т. д.), но я не думаю, что что-то подобное существует. Не стесняйтесь просветить меня.
Редактировать
Я знаю, что могу создать структуру в приложении c ++ и определить ее в c # и передавать данные таким образом, но в моей голове такое чувство, что я ограничиваю то, что можно отправить. Я должен был бы установить предопределенные размеры для объектов и т. Д.