On Wed, 16 Oct 2013, Sunny Khatri wrote:

Looking at the packets, receiver sends out a TCP ZeroWindow (followed by some window update). Server sends out the next packet with FIN (causing the close connection). So seems like the issue is with the rate at which data is transferred by the server and the rate at which it's consumed by the client and the TCP receive buffer size. Apart from changing the TCP window size, does libcurl provides anything to manage this sort of stuff ? Or if there is any other potential solutions that could be used to resolve this issue.

libcurl doesn't even change the window size. That's done by the TCP layer and that's handled by the kernel. libcurl reads data from a socket.

It doesn't explain why the server disconnects the connection. Even if libcurl would be terribly slow it still shouldn't for that reason.

As the closing-initiative (FIN) comes from the other end, I think you need to look at that end closer and figure out why it decides to close down the connection. But I'm not suggesting this is easy or that the explanation has to be there...

--

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

Reply via email to