0
У меня есть сценарий Perl для запуска некоторых команд на удаленном оборудовании Net :: Telnet. Иногда сеанс telnet будет отключен удаленной стороной, так как время ожидания входа в систему или другая причина. Я хочу знать, как я могу проверить, что сеанс telnet все еще жив, прежде чем отправить следующую команду? Большое спасибо!Как проверить Net :: Telnet-сессия по-прежнему живет в Perl?
my $tc = new Net::Telnet{Host=>$host,Port=>23};
sub checkTelnetLive { ??? }
my @commands=($cmd1,$cmd2,...);
foreach $cmd(@commands) {
if checkTelnetLive {
$tc->put($cmd);
$tc->waitfor('/COMPLD/');
}
else {
die "Remote equipment has disconnected session."
}
}
** timed_out - тайм-аут индикатор ** '$ булево = $ obj-> timed_out;' '$ пред = $ obj-> timed_out ($ boolean); 'Этот метод указывает, был ли вычислен предыдущий метод чтения, записи или открытия. Помните, что тайм-аут сам по себе является ошибкой. Чтобы иметь возможность вызывать timed_out() после ошибки тайм-аута, вам придется изменить режим ошибок по умолчанию на что-то другое, кроме «die». См. Errmode(). Без аргумента этот метод возвращает 1, если предыдущий метод тайм-аут. С аргументом он устанавливает индикатор. Обычно для этого индикатора устанавливаются только внутренние методы. – AbhiNickz