Sign Up

Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.

Have an account? Sign In

Have an account? Sign In Now

Sign In

Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.

Sign Up Here

Forgot Password?

Don't have account, Sign Up Here

Forgot Password

Lost your password? Please enter your email address. You will receive a link and will create a new password via email.

Have an account? Sign In Now

You must login to ask a question.

Forgot Password?

Need An Account, Sign Up Here

Please briefly explain why you feel this question should be reported.

Please briefly explain why you feel this answer should be reported.

Please briefly explain why you feel this user should be reported.

Sign InSign Up

The Archive Base

The Archive Base Logo The Archive Base Logo

The Archive Base Navigation

  • SEARCH
  • Home
  • About Us
  • Blog
  • Contact Us
Search
Ask A Question

Mobile menu

Close
Ask a Question
  • Home
  • Add group
  • Groups page
  • Feed
  • User Profile
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Buy Points
  • Users
  • Help
  • Buy Theme
  • SEARCH
Home/ Questions/Q 8118343
In Process

The Archive Base Latest Questions

Editorial Team
  • 0
Editorial Team
Asked: June 6, 20262026-06-06T04:27:30+00:00 2026-06-06T04:27:30+00:00

I am writing a multithreaded C++ (Linux) SOAP client to interface with the Betfair

  • 0

I am writing a multithreaded C++ (Linux) SOAP client to interface with the Betfair API. I initially tried to get to grips with gSOAP but I simply cannot get it to work properly using multiple WSDL files so that I have temporarily abandoned that. I have implemented my own classes for storing data and parsing/generating XML using RapidXML – the only thing that I am looking for advice on is what to use for the HTTPS transport aspect. I have implemented some initial test applications using OpenSSL and libcurl, these work fine but I have had some issues with the multithreaded aspects and they are more C than C++, and to be honest I was looking for something a little more up to date. So my question is this – If I were to rewrite this from scratch, what would be the best tool to use to deal with the HTTPS transport. I have researched the following as possibilities

  1. OpenSSL (implemented)
  2. libcurl (implemented)
  3. boost::asio library (not tried because as yet I have not dabbled with Boost)
  4. Try to do it all myself using socket programming (not keen on this approach)
  5. Just try and tough out gSOAP and trawl the web for ways to make it work.
  6. Something totally different that I have not come across yet.

So basically, given the above what would someone advise as the best approach to use in terms of solid performance and minimal multithreading problems? Or has anyone had any experience with poor performance of any of the above and would dissuade me from using it???
Any suggestions and advice will be gratefully received.

  • 1 1 Answer
  • 0 Views
  • 0 Followers
  • 0
Share
  • Facebook
  • Report

Leave an answer
Cancel reply

You must login to add an answer.

Forgot Password?

Need An Account, Sign Up Here

1 Answer

  • Voted
  • Oldest
  • Recent
  • Random
  1. Editorial Team
    Editorial Team
    2026-06-06T04:27:32+00:00Added an answer on June 6, 2026 at 4:27 am

    If you are worried about performance, in my experience boost::asio tends to scale very well especially in large multithreaded projects. Notice however that boost::asio is a quite low level socket oriented library, so you will have to dig pretty deep into that; there are some nice examples for HTTPS with boost::asio, e.g. this. I would reject your do-it-yourself socket idea, because that is just what boost::asio offers.

    I personally have not worked with libcurl yet, but OpenSSL offers quite a high level API that should cover everything you need; you will buy convenience at the price of performance though. In most cases, the lack of performance will be marginal and thus neglectable, but that depends on your application.

    gSOAP is great for client-sided SOAP requests, but to be honest, the server-sided support is rather minimal, and you would have to do a lot of tweaking to support multiple WSDL files in a multithreaded application. I would personally vote against doing that as well.

    In conclusion, I would use boost::asio if you want to maximize performance and feel comfortable with sockets, and OpenSSL if convenience and rapid development have higher priority.

    • 0
    • Reply
    • Share
      Share
      • Share on Facebook
      • Share on Twitter
      • Share on LinkedIn
      • Share on WhatsApp
      • Report

Sidebar

Related Questions

I am writing a multithreaded client that uses an IO Completion Port. I create
I'm writing a small multithreaded client-side python application that contains a small webserver (only
I am writing a server in linux that is supposed to serve an API.
I'm fairly new to C but writing a small multithreaded application. I want to
I'm writing a multithreaded C++ server and a Java client using TCP. It works
I am writing a multithreaded socket application in Python using the socket module. the
I'm writing a multithreaded Java program where each thread potentially needs its standard output
I am writing a simple multithreaded socketserver and I am wondering how best to
I'm writing a multithreaded distributed networking algorithm. I've one thread that listens to new
Is I am looking at writing a multithreaded tcp server using boost ASIO. I

Explore

  • Home
  • Add group
  • Groups page
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Users
  • Help
  • SEARCH

Footer

© 2021 The Archive Base. All Rights Reserved
With Love by The Archive Base

Insert/edit link

Enter the destination URL

Or link to existing content

    No search term specified. Showing recent items. Search or use up and down arrow keys to select an item.