|
|
ru.perl- RU.PERL ---------------------------------------------------------------------- From : Peter Didenko 2:5020/52 19 Feb 2002 20:50:04 To : HB Subject : Re: gethost* & timeout -------------------------------------------------------------------------------- >> приходится ждать полного истечения системного таймаута в резолвере. >> >> Задача: использовать свой тайм-аут. Как это сделать проще всего? H> Hе знаю, как проще всего, но можно попробовать так: А еще подумалось про вот так :-)) #!/usr/bin/perl -wl use strict; use Net::DNS; local $SIG{ALRM} = sub { die "timeout\n" }; my ($ns, $fqdn) = ('ns.aha.ru','f100.n452.z2.fidonet.net.'); alarm 5; my $resolver = new Net::DNS::Resolver; my $socket = $resolver->bgsend($fqdn); my $query = $resolver->bgread($socket); undef $socket; alarm 0; die "Query FAILED\n$ns and/or my ISP sucks..." unless $query; for my $rr ($query->answer) { next unless $rr->type eq "A"; printf $rr->address; } -- Peter Didenko. KIP3-RIPE. Zenon N.S.P. Moscow, Russia. http://www.zenon.net Moscow : +7 095 2323736, St. Petersburg : +7 812 3264468 --- tin/1.5.8-20010221 ("Blue Water") (UNIX) (FreeBSD/4.4-STABLE (i386)) * Origin: Zenon N.S.P. news server (2:5020/52.0) Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /ru.perl/30962a9390f2b.html, оценка из 5, голосов 10
|