2012-03-03 4 views
1

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

Что рекомендуют делать это?

Мои мысли:

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

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

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

+0

WCF был заменен на Remoting в течение шести лет. –

ответ

1

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

+0

Благодарим вас за ответ. Я думал, что может быть какой-то более прямой путь для C# для доступа к серверу C++ RPC, но теперь я знаю, что нет. –

Смежные вопросы