Как вы подключаете C# с интерфейсом C++ через HTTP или эквивалент веб-сервиса?протокольные буферы с клиентом C++ и C# back-end?
ответ
Здесь три части; сервер (звучит как C#), клиент (звучит как C++) и транспорт. Принимая их по отдельности, и, начиная с наиболее важными:
транспорта: большое решением здесь, какой формой вы хотите, чтобы данные, чтобы быть в Вы упоминаете буфера протокола, поэтому мы говорим бинарными - но это могло. быть:
- сырым октет-поток (думаю: загрузка изображения с веб-сервера)
- мыльный веб-сервис возвращает поток или байт []
- тот же SOAP веб-службы возвращения MTOM
Любое должно работать; который выбирается, зависит от доступных инструментов. Важно: получите кусок бинарного кабеля.
Вам также необходимо подумать об определении данных на данном этапе; a .proto file может определить вашу схему, а большинство реализаций буферов протоколов включает инструмент для создания соответствующих классов.
- сервер: в зависимости от выбора выше, это либо будет обработчик (
IHttpHandler
), либо класс веб-сервиса. В любом случае, их работа заключается в том, чтобы запустить некоторую логику и вернуть поток байтов. Как вы получаете ваши данные, зависит от вас, тогда в конечном итоге задание заполняет типы DTO (генерируется из .proto во многих случаях, но не строго) и запускать его через API сериализации, записывая результат в поток - клиент: тот же обратный; сгенерировать DTOs из .proto, и запустить его через десериализации API
Различные реализации Protobuf (C++, C# и т.д.) перечислены here.
Я видел их всех. Вы принимаете paypal, чтобы написать пример с открытым исходным кодом, который демонстрирует использование C++ и C# вместе в веб-сервисе? – buttercup
@buttercup - Я действительно недостаточно хорош на C++, чтобы помочь с этим. Я могу показать вам получение данных protobuf на проводе с C#, * sure *. Тогда это должен быть просто деконструкция из C++. Существует (IIRC) большое количество документации на C++, или, может быть, публикация в конкретной группе может помочь: http://groups.google.com/group/protobuf –
@buttercup - на основе вашего пункта «оплаты» об избежании SOAP, Я бы также предположил, что исходный поток октетов - это способ пойти в этом случае. –
- 1. Android и протокольные буферы
- 2. Можно использовать протокольные буферы с перекрестным языком
- 3. Невозможно скомпилировать протокольные буферы 3.1.0
- 4. протокольные буферы - генерировать NON-inline-аксессоры
- 5. протокольные буферы и фактические параметры транспорта - сокеты или промежуточное ПО
- 6. протокольные буферы + zlib = неразрешенный внешний символ
- 7. Протокольные буферы не генерируют служебные заглушки
- 8. Поддерживает ли protobuf (протокольные буферы) пользовательские типы?
- 9. - это протокольные буферы, подходящие для долгосрочной сериализации?
- 10. Буферы протокола с программированием dll C++
- 11. Могут ли протокольные буферы сериализовать hash_multimap?
- 12. Как использовать буферы протокола Google с клиентом C++ и C# WCF?
- 13. Пулы памяти и буферы C++
- 14. Будут ли протокольные буферы Google автоматически выравнивать данные?
- 15. C++ буферы cout и cin и вообще буферы
- 16. Буферы с указателями в C
- 17. Сериализация карты и shared_ptr между приложениями C# и C++?
- 18. скомпилировать протокольные буферы 3 типа временной метки в C# visual studio?
- 19. Буферы протокола Google и HTTP
- 20. Действительно ли протокольные буферы повторно используют указатель строки при разборе?
- 21. Почему протокольные буферы намного лучше, чем бинарная сериализация .NET?
- 22. как отправлять классы, определенные в .proto (протокольные буферы) через сокет
- 23. Могут ли протокольные буферы использоваться для реализации стороннего протокола
- 24. протокольные буферы: нет обозначений для буферов фиксированного размера?
- 25. Ext JS с C# Backend
- 26. Использование Laravel с C# backend
- 27. Буферы протокола с JPA
- 28. Буферы протокола Google в C#
- 29. C++ Backend Infrastructure
- 30. Objective C frontend-Java/C# backend
Почему именно буферы протокола? Я активно участвую в этой области, но я просто хочу проверить ваши рассуждения ... –
Я делаю проект MFC/C++ с back-end C#. Нужен какой-то способ поговорить между C# и C++ по HTTP – buttercup
OK; почему не только SOAP ...? Я прошу убедиться, что мы не ведем вас по неправильному пути. Конечно, protobuf * может * помочь в этой настройке, особенно если вы ограничены пропускной способностью или процессором, но для многих сценариев SOAP может быть проще. –