Написание клиентского приложения C++ SOAP (многопоточного) - без gSOAP

Я пишу многопоточный клиент SOAP на C++ (Linux) для взаимодействия с Betfair API. Сначала я пытался разобраться с gSOAP, но просто не смог заставить его работать должным образом, используя несколько файлов WSDL, поэтому временно отказался от этого. Я реализовал свои собственные классы для хранения данных и синтаксического анализа/генерации XML с использованием RapidXML. Единственное, о чем я ищу совета, так это о том, что использовать для транспортного аспекта HTTPS. Я реализовал несколько первоначальных тестовых приложений с использованием OpenSSL и libcurl, они работают нормально, но у меня были некоторые проблемы с многопоточными аспектами, и они больше похожи на C, чем на C++, и, честно говоря, я искал что-то более современное. Итак, мой вопрос таков: если бы я переписал это с нуля, какой инструмент лучше всего использовать для работы с транспортом HTTPS. Я исследовал следующие возможности

  1. OpenSSL (реализовано)
  2. libcurl (реализовано)
  3. библиотека boost::asio (не пробовал, потому что я еще не баловался с Boost)
  4. Попробуйте сделать все это сам использую программирование сокетов (не в восторге от этого подхода)
  5. Просто попробуйте и закрепите gSOAP и покопайтесь в Интернете в поисках способов заставить его работать.
  6. Что-то совершенно другое, чего я еще не встречал.

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

5
задан mathematician1975 20 June 2012 в 19:07
поделиться