http://curl.haxx.se/mail/tracker-2005-11/0013.html
I followed this thread and exactly this is the issue I am currently facing with 
Libcurl not immediately closing the socket when server sends FIN packet
I do not want to close and open the connection everytime as this might be 
resource consuming for server to do SSL handshake everytime
To overcome the issue, I referred to the following post which talked about 
using SSL_SEEK  in the getinfo of LASTSOCKET interface.
I have a solution which is working for me now. But still not sure if I have 
effectively made a choice.
This is what I am doing now and need your feedback about the same
1.       At the start of application I create a pool of curl handle with 
easy_init()
2.       Since I use ssl I have implemented the lock and unlock methods.
3.       I pick up an handle form the available pool and use it for the POST 
request.
4.       At the end of perform I use “easy_reset()” with the intention to 
re-use the socket if further request needs to be send.
5.       When the second request comes before setting the options I use the 
LASTSOCKET API on the curlHandle to see if it returns me BAD SOCKET.
a.       If it returns a BAD SOCKET I immediately call “easy_cleanup” and then 
call “easy_init()”. Then further continue with my work.
b.      If it returns valid then I use the same handle and continue with the 
transfer.
Before doing “Step 5” the experience I faced was “hang” and it waited till it 
timed out naturally.
Any thoughts?
Thanks for reading the post your feedback will really help me.
____________________

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

Reply via email to