dポイントプレゼントキャンペーン実施中!

タイムアウト時間を確認するのに、以下のプログラムを実行したのですが、存在しないホストを指定してプログラムを実行しても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");
}

A 回答 (1件)

接続先のホストが存在しない(icmp destination unreachable)という


応答が返ってきて、終了しているということはありませんか。

存在するが、ファイアウォール等で telnet ポート(port 23)への
接続をドロップしているようなホストを指定するとどうなりますか。
    • good
    • 0
この回答へのお礼

アドバイスありがとうございました。

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

aa.bb.cc.dd

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

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

お礼日時:2008/07/05 21:10

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!