|
|
ru.cgi.perl- RU.CGI.PERL ------------------------------------------------------------------ From : Artem Chuprina 2:5020/400 14 May 2002 12:02:08 To : Sergey Halamov Subject : Re: Timeout in IO::Socket:INET -------------------------------------------------------------------------------- Здравствуй, Sergey Halamov. SH> Действия происходят под NT4.0, ActivePerl, Apache. SH> Hиже приведенный фрагмент скрипта используется для проверки доступности SH> сервера. В случае его недоступности процесс подвисает на несколько минут, SH> хотя явно указан таймаут. Что неправильно ? SH> Какой еще можно использовать способ определения доступности сервера, SH> кроме Net::Ping ? SH> use IO::Socket; SH> $hostUp='images/On/server.gif'; SH> $hostDown='images/Off/server.gif'; SH> $basefile=$hostUp; SH> $s = IO::Socket::INET->new(PeerAddr => "192.168.1.2:139", SH> Timeout => 5, SH> Type => SOCK_STREAM ) SH> or $basefile=$hostDown; SH> close($socket); SH> print "Content-Type: image/gif\n\n"; SH> open(PIC,"$basefile"); SH> binmode(PIC); SH> binmode(STDOUT); SH> print <PIC>; SH> close(PIC); Есть у меня подозрение, что в IO::Socket для установки таймаута используется alarm(). Естественно, с проверкой на Win32. -- Artem Chuprina Communiware.net RFC2822: <ran@ran.pp.ru>, FIDO: 2:5020/358.49, ICQ: 13038757 --- ifmail v.2.15dev5 * Origin: Leninsky 45 home network (2:5020/400) Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /ru.cgi.perl/1445455f1b3f3.html, оценка из 5, голосов 10
|