I donโt know if you really meant โsimultaneousโ, but from the description, I believe that you just want to reuse the connection. If you just perform two requests on the same server, it should reuse the connection
persistant.c
curl_easy_setopt(curl, CURLOPT_URL, "http://example.com/"); res = curl_easy_perform(curl); curl_easy_setopt(curl, CURLOPT_URL, "http://example.com/docs/"); res = curl_easy_perform(curl);
Here are the output particles:
* About to connect() to example.com port 80 (#0) * Trying 192.0.32.10... * connected * Connected to example.com (192.0.32.10) port 80 (#0) [...] * HTTP/1.0 connection set to keep alive! < Connection: Keep-Alive Connection: Keep-Alive [...] * Connection #0 to host example.com left intact * Re-using existing connection! (#0) with host example.com * Connected to example.com (192.0.32.10) port 80 (#0)
EDIT In light of the comment
In this case, you need a multi interface. multi interafce says:
Enable multiple simultaneous transfers in the same thread without which complicates the application.
See multi-double.c ("Just upload two HTTP files!") For an example.
source share