на главнуюВсе эхи RU.PERL
войти ?

Re: IO::Socket::IP

От Eugene Grosbein (2:5006/1) к Stas Mishchenkov

В ответ на Заголовок предыдущего сообщения в треде (Имя Автора)


08 февр. 2022, вторник, в 20:03 NOVT, Stas Mishchenkov написал(а):

SM> Имеем такой код:
SM> my $sock = IO::Socket::IP->new(PeerAddr => $host,
SM> PeerPort => $portaddress,
SM> Timeout => 15,
SM> Proto => 'tcp') || print "error $!\n" &&
SM> return " $host - Error $!\n";
SM> с некоторыми хостами, например, joesbbs.com:24554, может провисеть при попытке
SM> соединения несколько часов. По таймауту не отваливается. Что я не так делаю или
SM> как заставить его всё-таки выдавать ошибку по таймауту?

Для начала перестань предполагать, что print всегда успешен
и больше не пиши print "error $!\n" && return

print тоже может обломаться и вернуть ложь
(вывод перенаправлен в файл и место кончилось, или вывод уходит
в сетевой сокет и локальный файрвол зарезал соединение и т.д.)

А по сути - работа таймаутов системно-зависима, что у тебя за версия
Perl и операционной системы?

Eugene
--
What would you do with a brain if you had one?
--- slrn/1.0.3 (FreeBSD)
* Origin: RDTC JSC (2:5006/1@fidonet)

Ответы на это письмо:

From: Username
Заголовок следующего сообщения в треде может быть длинным и его придется перенести на новую строку

From: Username
Или коротким

FGHI-url этого письма: area://RU.PERL?msgid=grosbein.net+6bba275f