32-битная - 64-битная межпроцессная связь - PullRequest
7 голосов
/ 08 декабря 2011

Мне поручено внедрить xml-редактор на основе Win32 в качестве интерфейса, в то время как бизнес-логика будет обрабатываться через 64-битный процесс.Кроме того, связь между двумя процессами будет осуществляться через шину сообщений, которая может передавать только сообщения вида wchar_t *.(Да это так плохо).

Если у вас в руках только C++ 03, поддержка внешних библиотек отсутствует, например, Boost, какой дизайн лучше всего подойдет для этой задачи?Случай использования заключается в том, что пользователь просто редактирует некоторые файлы .xml.

Я думал о наличии таблицы указателей на функции в модуле бизнес-логики, который обрабатывает различные сообщения и затем возвращается к «прослушиванию» событий.

Дополнительный вопрос: есть ли "простой" способ сериализации объекта в виде строки?

Большое спасибо.

Редактировать:

Повышение разрешено.Должен ли я пойти с ASIO или MPI?Я думаю, первый правильно?

Ответы [ 2 ]

2 голосов
/ 09 декабря 2011

Установить сокет-соединение между процессами и отправлять текстовые сообщения туда и обратно.

Для сокетных подключений хороший вариант Boost.Asio, для сериализации Boost.Serialization с текстовым архивом. Хотя Boost.Serialization трудно отладить.

...