Главная страница


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)
 
 

Вернуться к списку тем, сортированных по: возрастание даты  уменьшение даты  тема  автор 

 Тема:    Автор:    Дата:  
 gethost* & timeout   Peter Didenko   18 Feb 2002 17:50:21 
 Re: gethost* & timeout   HB   19 Feb 2002 17:49:30 
 Re: gethost* & timeout   Peter Didenko   19 Feb 2002 20:50:04 
Архивное /ru.perl/30962a9390f2b.html, оценка 2 из 5, голосов 10
Яндекс.Метрика
Valid HTML 4.01 Transitional