>Then, we create an easy handle, create *curl_slist for our CURLOPT_RESOLVE 
>entries, and then add the IPv6 entries first, followed by the IPv4 addresses.

>So, if we get an IPv6 address, we'll attempt to connect, and if we don't have 
>any IPv6 connectivity, we get CURLcode 7. Okay, cool, but... my next request 
>(new easy handle) does the same thing and makes the same connection, and so we 
>end up with a failure to connect to the v4 addresses.

>My question is - after reading url.c/hostip.c and not entirely following the 
>scoping - how do I get libcurl to cycle through the addresses given to it?  I 
>am NOT reusing easy handles, I imagine this is the issue.  If I reuse an easy 
>handle, will libcurl cycle through addresses for me?  Or is it preferable to 
>feed just one address into the CURLOPT_RESOLVE option and deal with that 
>externally in my application?  Other than keeping track of my easy handle for 
>a request and calling curl_easy_reset() after each request, is there anything 
>else I need to do?

You can remove the IPv6 entry from your failed easy handle (with -HOST:PORT), 
and call curl_easy_perfrom() again on the same easy handle (or create a new one 
and configure it with only IPv4 addresses).

HTH

Yehezkel Horowitz

-------------------------------------------------------------------
List admin: http://cool.haxx.se/list/listinfo/curl-library
Etiquette:  http://curl.haxx.se/mail/etiquette.html

Reply via email to