TELNET接続を失敗したときNo.00172
yamamoto さん 99/02/27 18:37
 
どこに質問していいかわからなったので他の会議室に同じ質問を
出してしまいました。
LAN環境で秀タームエボリューション4.36を使用しています。
モデムを使って、あるシステムにログインしてシステムの状態を確認して
次にTELNETでメールサーバにログインし、監視状態をメールで
 発信するスクリプトを作りました。が、一つ問題が起きてしま
いました。秀タームがTELNET接続に失敗すると(メールサーバが
ダウンしている時など)、そのまま接続中のメッセージを表示し
て止まってしまいます。なにかうまくタイムアウトなどをさせて
 次の処理に移る方法はないものでしょうか?

[ ]
RE:00172 TELNET接続を失敗したときNo.00173
範子 さん 99/03/01 00:06
 
SUB:RE:TELNET接続を失敗したとき

 今晩は > yamamotoさん

》LAN環境で秀タームエボリューション4.36を使用しています。
》モデムを使って、あるシステムにログインしてシステムの状態を確認して
》次にTELNETでメールサーバにログインし、監視状態をメールで
》 発信するスクリプトを作りました。が、一つ問題が起きてしま
》いました。秀タームがTELNET接続に失敗すると(メールサーバが
》ダウンしている時など)、そのまま接続中のメッセージを表示し
》て止まってしまいます。なにかうまくタイムアウトなどをさせて
》 次の処理に移る方法はないものでしょうか?

 私が読みますと、

 yamamotoさんのパソコンから、
 ニフティみたいなとこにダイヤルアップでつないで巡回したあと、
 go telnet して
 open www.maruo.co.jp
 と送ったら、サーバーが落ちてて、そのまま巡回スクリプトが
 止まってしまう

 というみたいな感じ(やってることが同じという意味で)に読み
 とれましたが、
 wait の戻り値がtimeoutかどうかで分岐する話を、上記のような
 スクリプトが掛ける人がご存じないはずないですね。

  とすれば、たとえば、モデムでダイヤルアップでIP接続している
 状態から秀Termを起動して・・・という話なら、エラーダイアログ抑止
 して Ver4.36からできたreconnect文を・・・

  もう少し状況を教えてください。

[ ]
RE:00173 TELNET接続を失敗したときNo.00174
秀まるお さん 99/03/01 10:09
 
>  open www.maruo.co.jp
>  と送ったら、サーバーが落ちてて、そのまま巡回スクリプトが
>  止まってしまう

 範子さんレスありがとうごさいます。がしかし、実はそういう問題ではなくて、秀
Term側の問題だったりします。

 つまり、秀Term側から直接telnet接続する(例えばr2.nifty.ne.jpに接続する)時
に、相手がまったく応答しなかった場合、秀Termの「接続中」のダイアログボックス
がいつまでたってもタイムアウトしないという問題だったりします。

 実はなぜかタイムアウトの処理が入ってないというか、ソースコード上に入ってい
た形跡があるにもかかわらず、コメントになってしまってます。たぶん何かのバグ修
正の影響でこういう仕様になったんじゃないかと思いますが???

 とりあえずの回避策として、秀Term起動時のオプションにて、/tというのを指定し
てほしいです。これはヘルプにも書いてない隠しオプションなんですが、これを指定
するとtelnet接続のダイアログの動作が変わってちゃんとエラーが返るようになりま
す。

 秀Termを起動するショートカットの「リンク先」という所の

 ...\hideterm.exe

 となっている所を

 ...\hideterm.exe /t

 とすればいいです。それでとりあえず接続に失敗するとタイムアウトするはずです。


[ ]
RE:00174 TELNET接続を失敗したときNo.00178
yamamoto さん 99/03/02 09:31
 

>
> となっている所を
>
> ...\hideterm.exe /t
>
> とすればいいです。それでとりあえず接続に失敗するとタイムアウトするはずです。
>

どうもありがとうございます。  /t オプションを試してみます。
ところで、古いバージョンはタイムアウト使えたのでしょうか?

山本

[ ]