RESTfulJapan回答ポイント 80ptウォッチ

Ruby の Net::Telnet に関しての質問(再び)です。

以前こちらで http://q.hatena.ne.jp/1259121296 で質問させていただいた者です。
telnetできなかった時の処理はbegin/rescueでのエラーハンドリング処理で成功したのですが、telnetした後、その機器からping を実行し、ping できなかった場合、
/usr/lib/ruby/1.8/net/telnet.rb:557:in `waitfor': timed out while waiting for more data (Timeout::Error)
from /usr/lib/ruby/1.8/net/telnet.rb:692:in `cmd'
from telnet-ping-Alaxala-error-hatena.rb:12
というようなエラーでプログラムが止まってしまいます。pingできなかった時の処理はどのように書けばいいでしょうか?

begin/rescueでいろいろ試してみましたができませんでした。
telnetする対象機器は、Alaxalaのスイッチ3640です。
ちなみにCenterCOMのスイッチは、pingが失敗しても、止まることはありませんでした。

現在のコードは
targetIP = " ping できないIP"
telnet = Net::Telnet.new("Host" => "スイッチのIP")
telnet.login("ログイン名", "パスワード")
telnet.cmd("ping " + targetIP + " count 5"){|c| print c} # ping回数5
telnet.cmd("exit")
telnet.close
是非ともよろしくお願い致します。

※ 有料アンケート・ポイント付き質問機能は2023年2月28日に終了しました。
ログインして回答する

ベストアンサー

その他の回答

この質問へのコメント

コメントはありません

この質問への反応(ブックマークコメント)

質問の情報

登録日時
2009-11-25 15:44:10
終了日時
2009-11-30 18:01:45
回答条件
1人2回まで

この質問のカテゴリ

この質問に含まれるキーワード

Ruby760Telnet132Ping364LOGiN141Hatena485IP902BEGIN96ログイン2397プログラム5048パスワード2211EXIT194

人気の質問

メニュー

PC版