Bingo, this seems to be it. Although I haven't found any 4226 in my event log, it looks like WinXP SP2 is limiting connections to 10. I tried the patch, but it does not seem to work.
I found few more places in AnyEvent::HTTP (mostly on_error handlers) where reason is taken from outside. To be sure, I added some prefix to those error messages and indeed the error comes from tcp_connect.
Knowing the limitation, I was able to work around. Not that I like hardcoding the number 10 like this, but limit connections is probably good idea anyway.
use AnyEvent::HTTP;
my @urls = map { chomp; $_ } <DATA>;
while(my @ten_urls = splice(@urls,0,10)) {
my $cv = AnyEvent->condvar;
for my $url (@ten_urls) {
$cv->begin;
http_get $url, timeout => 5, sub {
my ($body, $hdr) = @_;
warn "[$hdr->{Status}:$hdr->{Reason}] ",$url," (",length($
+body),")\n";
$cv->end;
};
}
$cv->recv;
warn "-----","\n";
}
Really appreciate your help.
-- thanks, Roman
|