Как записать RPC-клиент C # на удаленный собственный сервер C ++? - PullRequest
1 голос
/ 03 марта 2012

Мне нужно реализовать клиент C #, получающий доступ к собственному C ++ server.exe, который имеет RPC-интерфейсы и работающий на удаленном компьютере.

Каков рекомендуемый способ сделать это?

Мои мысли таковы:

  1. Написать C ++ dll на стороне клиента, общаться с сервером с помощью RPC, выставляя его интерфейсчерез COM, затем C # получают доступ к COM-интерфейсам. (Я испытал все вокруг.)
  2. Пишем C ++ dll на стороне клиента, общаемся с сервером с помощью RPC, оборачиваем интерфейс в C ++ CLR, затем C # получаем к ним доступнапрямую (не знаком с оболочкой C ++ CLR)

Есть ли более прямой способ сделать это?Я погуглил некоторые другие термины, такие как Remoting, и это наследник WCF, а затем DCOM. Могу ли я использовать их?

Мои критерии просты, чем лучше, так как я ленивый программист.И новые технологии предпочтительнее, если это возможно, я имею в виду, что я бы использовал WCF вместо Remoting, если WCF - новая замена для Remoting.

1 Ответ

1 голос
/ 03 марта 2012

Вероятно, самым простым вариантом было бы написать C ++ DLL на стороне клиента, которая взаимодействует с сервером с помощью RPC, и иметь функции вызова C # в DLL через pinvoke.Основной задачей здесь было бы настроить распределение параметров функции между управляемым и собственным.Сложность этой задачи зависит от сложности интерфейса.

...