ようこそ ゲスト さん、新規登録(無料)して気になる疑問を解決しませんか?

質問

QNo.4133194 Net::Telnetでタイムアウト時間が短い
質問者:ty_toride タイムアウト時間を確認するのに、以下のプログラムを実行したのですが、存在しないホストを指定してプログラムを実行しても3秒程度でタイムアウトしてしまいます。指定したタイムアウト時間(以下のプログラムでは100秒)待つにはどうすればよろしいでしょうか?

お願いします

OS:CentOS 5.1
perl: 5.8.8
Net-Telnet-3.03

===== プログラム =====

#!/usr/bin/perl

use Net::Telnet ();

my $result;
my $h = 'aa.bb.cc.dd';
my $u = 'my_name';
my $pass = 'my_pass';
my $p = '/[\$%#>] $/';

my $t = new Net::Telnet (Timeout => 100, Prompt => $p,
Errmode => "return");

$result = $t->open($h);

unless($result) {
print "open ng\n";
exit;
} else {
print "open ok\n";
$t->login($u, $pass);
print "login ok\n";
$t->print("exit");
}
困り度:
  • 困っています
質問投稿日時:
08/06/27 14:32
この質問に対する回答は締め切られました。

回答良回答20pt

ANo.1 接続先のホストが存在しない(icmp destination unreachable)という
応答が返ってきて、終了しているということはありませんか。

存在するが、ファイアウォール等で telnet ポート(port 23)への
接続をドロップしているようなホストを指定するとどうなりますか。
回答者:t-okura
種類:アドバイス
どんな人:専門家
自信:参考意見
回答日時:
08/07/03 22:48
この回答へのお礼アドバイスありがとうございました。

telnet のサービスを殺しているLinuxマシンのIPアドレスに
書き換え様として、typoを見つけてしまいました。

aa.bb.cc.dd

と書くべきところ、aa,bb.cc.dd と","が一箇所混じっていたため
即エラーとなっていました。

お騒がせして申し訳ありませんでした。