Каков лучший способ для приложения C# для передачи приложения C++ Unix

Вот немного ссылок:

Взгляд А В JQuery API http://gridviewguy.com/Articles/407_A_Look_Into_JQuery_Ajax_API.aspx

Используя Профилировщика FireBug для Рытья Глубоко в Ajax MS и JQuery API http://azamsharp.com/Posts/83_Using_FireBug_Profiler_to_Dig_Deep_into_MS_AJAX_and_JQuery_API.aspx

, По требованию Загружающийся Используя JQuery Ajax API http://azamsharp.com/Posts/74_On_Demand_Loading_Using_JQuery_Ajax_API.aspx

5
задан Todd Stout 12 September 2009 в 03:32
поделиться

5 ответов

Web-сервисы или мыло было бы довольно просто, однако, если приложение C ++ не является веб-сервером (или приложением C #), может быть проще просто использовать программирование сокетов напрямую.

Сокеты довольно легко использовать как в C #, так и в C ++. Они дают вам полный контроль над типом передаваемой даты за счет потенциально немного большей работы по обработке.

Самые большие проблемы, на которые следует обратить внимание, это, вероятно, порядок байтов двоичных данных и кодирование текстовых данных, если вы используете розетки напрямую. В остальном это очень просто.

4
ответ дан 13 December 2019 в 22:12
поделиться

Поскольку вы уже знакомы с подходом к веб-службам и сокетам, я упомяну некоторые другие варианты. Если вам нравится простота, ознакомьтесь с XML-RPC . Это то, чем был SOAP до того, как большие комитеты по стандартам и корпоративные интересы начали контролировать спецификацию. Вы можете найти реализации XML-RPC практически для всех основных языков программирования. Hessian - интересный бинарный протокол, у которого много поклонников и который поддерживает практически все основные языки. Протоколы буферов популярны в Google. Официальная версия от Google не поддерживает C #. Однако два самых популярных пользователя SO предоставляют порты protobuf для пространства .Net.

Я, вероятно, буду высмеян за это, но я также взгляну на CORBA. В наши дни это не в моде, но имеет много существенных технических заслуг, особенно если один конец коммуникации - C ++. ИМХО, это WS- * с поддержкой OO и без угловых скобок. Что касается взаимодействия, я думаю, ему все еще следует занять место за столом. Занимаясь разработкой на C ++, я обнаружил, что OmniOrb весьма эффективен и действенен. Взгляните на этот вопрос SO , чтобы узнать, как использовать CORBA в .Net.

3
ответ дан 13 December 2019 в 22:12
поделиться

Сокеты самые простые; и я всегда делал это первым. Если база данных - вариант, это тоже тривиально, но это действительно зависит. Если это события в очереди, это имеет смысл, но если это запрос / ответ, это, вероятно, не так уж и хорошо.

1
ответ дан 13 December 2019 в 22:12
поделиться

вы можете использовать gsoap , чтобы программа C / C ++ использовала веб-сервис.

Вы также можете вызвать программу cgi, написанную на C ++.

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

1
ответ дан 13 December 2019 в 22:12
поделиться

Вы хотите, чтобы они взаимодействовали друг с другом (например, через tcp (как указывали многие другие)) или вы хотите иметь возможность переводить объекты с C # на C ++? Если это так, посетите Apache Thrift ( http://incubator.apache.org/thrift/ ).

1
ответ дан 13 December 2019 в 22:12
поделиться
Другие вопросы по тегам:

Похожие вопросы: