Самый быстрый способ общения между c ++ и c # - PullRequest
5 голосов
/ 08 октября 2010

Мы создаем новую систему визуального контроля. Фактическая система проверки должна быть c ++ по ряду причин. Для этой системы мы будем использовать Boost & Qt.

Для нашего пользовательского интерфейса в настоящее время мы рассматриваем использование WPF / C # для отчетов на основе пользовательского интерфейса и SQL. Осложняющим фактором является то, что пользовательский интерфейс должен запускаться как локально в том же окне, что и система проверки c ++, так и удаленно в другом окне, если в системе проверки нет монитора или клавиатуры.

Наша проблема в том, какой самый быстрый способ передачи данных между двумя системами? В настоящее время мы рассматриваем систему на основе сокетов, использующую буферы протокола Google для сериализации. Буферы протокола будут генерировать код для c ++ и c # ( jskeet / dotnet-protobufs ).

У кого-нибудь есть предложения / опыт?

Ответы [ 2 ]

1 голос
/ 08 октября 2010

Если вы действительно ищете самый быстрый способ связи с вашей системой проверки c ++, я бы реализовал оба варианта.Локальный интерфейс с использованием именованных каналов (см. Здесь Межпроцессное взаимодействие для Windows в C # (.NET 2.0) ) и удаленный интерфейс с использованием буферов протокола Google для ситуаций, когда в вашей системе проверки нет клавиатуры и /или монитор прилагается.Затем пользовательский интерфейс сначала пытается открыть именованный канал в локальном окне, и в случае сбоя пользователь должен ввести удаленный адрес для связи через сокет.

Надеюсь, что это немного поможет ...

0 голосов
/ 14 августа 2013

Я бы посмотрел на Zeromq, если вы действительно хотите самый быстрый по крайней мере стоимость

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