Dear all,
fortunately, our expert system admin could locate and solve the problem, I'm posting what I heard in case someone googles this thread:
So in our case, the random download stalls, where recv() on the socket connection would report -1/errno=EAGAIN for an hour without progress, where caused by a problem with state filtering in the iptables config, related to the local firewall. It required a new Linux kernel to fix, since then Apache is running happily...
CU,
Elmar
Tom Evans wrote:
On Wed, 2009-06-24 at 08:09 -0500, Elmar Krieger wrote:
I did of course start with code from the web, but that was not reliableDear Apache users,...
I'm forced to write yet another program that downloads HTTP files from
an
Apache server,
Naive question : why would you do that, when there are probably at least
10 existing libraries/utilities that already do that, and do it right ?
I mean that downloading a file from a webserver is not just a matter of
opening a socket and reading bytes from it. There are such things as
status codes, HTTP headers, encoding, transfer-encoding, etc..
Do you really want to re-invent the wheel ?
enough. For example the download routines of Firefox and Safari are not
satisfactory, because they also hang forever occasionally, and don't
automatically restart the transfer with a new request. I need it 100%
fool-proof.
Anyway, could you point me to the most reliable public domain (not GNU
GPL) library you know, that compiles in Linux, Windows and MacOSX? Then I
can compare the code..
And any idea under which circumstances a recv() from a socket connection
to Apache can report -1/errno=EAGAIN for an hour without progress would
still be appreciated. It's a server side problem, because it happens from
clients all over the world ;-)
Thanks for your help,
Elmar
I can download all sorts of large files from apache, it truly Works For
Me, so this certainly sounds like a naive client app rather than a
server side bug.
Any reason why you aren't using curl/libcurl/wget/libfetch? When there
are BSD licensed wheels out there, don't design your own..
Eg: http://curl.haxx.se/ (MIT)
http://curl.haxx.se/libcurl/ (MIT)
http://www.freebsd.org/cgi/cvsweb.cgi/src/lib/libfetch/ (BSD)
Curl has a list of the FOSS http libraries:
http://curl.haxx.se/libcurl/competitors.html
HTH
Tom
---------------------------------------------------------------------
The official User-To-User support forum of the Apache HTTP Server Project.
See <URL:http://httpd.apache.org/userslist.html> for more info.
To unsubscribe, e-mail: users-unsubscribe@xxxxxxxxxxxxxxxx
" from the digest: users-digest-unsubscribe@xxxxxxxxxxxxxxxx
For additional commands, e-mail: users-help@xxxxxxxxxxxxxxxx
---------------------------------------------------------------------
The official User-To-User support forum of the Apache HTTP Server Project.
See <URL:http://httpd.apache.org/userslist.html> for more info.
To unsubscribe, e-mail: users-unsubscribe@xxxxxxxxxxxxxxxx
" from the digest: users-digest-unsubscribe@xxxxxxxxxxxxxxxx
For additional commands, e-mail: users-help@xxxxxxxxxxxxxxxx