niftyへのtelnet接続失敗時の再接続No.00239
とんぼ さん 99/11/07 12:58
 
こんにちは、とんぼと申します。
ニフティへtelnet接続を試みて失敗したとき、再接続を試みる
スクリプトを作る事はできますか?

ニフティ用に「reconnect」というコマンドがありますが、
これはあくまで「Enter Connection-ID」で止まったとき
であって、アクセスが混雑している等の原因で、その手前
で止まってしまう(接続を拒否される)場合には無力の
ようです。

どうぞよろしくお願いいたします


[ ]
RE:00239 niftyへのtelnet接続失敗時の再No.00240
かずや さん 99/11/11 01:25
 
>こんにちは、とんぼと申します。
>ニフティへtelnet接続を試みて失敗したとき、再接続を試みる
>スクリプトを作る事はできますか?
>
>ニフティ用に「reconnect」というコマンドがありますが、
>これはあくまで「Enter Connection-ID」で止まったとき
>であって、アクセスが混雑している等の原因で、その手前
>で止まってしまう(接続を拒否される)場合には無力の
>ようです。
>
>どうぞよろしくお願いいたします
>
σ(^-^)はPC−VANで秀TermEvoを利用させてもらっていて
ニフティを知らないので、何が言いたいのか分かりません
ニフティ用以外のスクリプト作者からも解答を得たい場合は
それなりの質問をするようにお願いします

さて、上記の質問に対してですが
wait文、switch文、if文、readbuffer文などを
組み合わせると可能じゃないでしょうか?
・・・としか、今の段階では言えません

[ ]
RE:00240 niftyへのtelnet接続失敗時の再No.00241
とんぼ さん 99/11/11 02:29
 
>σ(^-^)はPC−VANで秀TermEvoを利用させてもらっていて
>ニフティを知らないので、何が言いたいのか分かりません
>ニフティ用以外のスクリプト作者からも解答を得たい場合は
>それなりの質問をするようにお願いします
>
>さて、上記の質問に対してですが
>wait文、switch文、if文、readbuffer文などを
>組み合わせると可能じゃないでしょうか?
>・・・としか、今の段階では言えません

レスありがとうございました。
言葉足らずで申し訳ありません。詳細に申し上げます。

えっと、ニフティにtelnet接続を試みた場合に、主に
3種類ほど接続に失敗する例があります。

一つは、接続後、「Enter Connection-ID  --->」
というメッセージがでたままとまってしまう場合。
(通常はここで「SVC」と入力して次に進む)
これは、秀TermEvoの「reconnect」コマンドにより
解決できます。

もう一つは、telnet接続後、すぐにtelnet接続が
切断されてしまう場合。
ニフティへのアクセスが混雑している時間帯に
これがよく起こります。
自分としては、この時、再度ニフティへの接続を試みたい
のですが、telnet接続が切断してしまうと「reconnect」
コマンドは無力のようですし、「connect」コマンドも
使ってみたのですが、使い方が悪いのかうまく行きません。

そして、もう一つは、「接続中」のウインドウがでている
状態でとまってしまう場合です。
この場合、暫くすると「エラー:r2.nifty.ne.jpへの接続
に失敗しました。ダイアルアップをキャンセルしたい・・」
という画面が出てウインドウが残ってしまいます。
自分としては、無人アクセスをしたいので、このウインドウが
残らないようにして、出来るなら、再度接続を試みるように
したいのです。

ダイアルアップ接続の場合は、ほぼ100%の接続率なの
ですが、telnet接続の方は、接続率が悪いです。
(まぁ、仕方が無いといえば仕方が無いのでしょうけれども)

以上の2つのケースにてお知恵をいただけないでしょうか?
どうぞよろしくお願いいたします。


[ ]
RE:00241 niftyへのtelnet接続失敗時の再No.00242
秀まるお さん 99/11/11 11:01
 
> そして、もう一つは、「接続中」のウインドウがでている
> 状態でとまってしまう場合です。

 これに限ってなら、一応対処方法はあります。

 例えば現在登録してあるNIFTY接続用のホスト名が「NIFTY」だとすると、以下のよ
うなスクリプトを作って、そのスクリプトを使って接続すればいいです。

-----------------------------------------------
    #n = 0
Loop:
    connect "NIFTY";
    #n = #n + 1;
    if( #n < 3 ) goto Loop
    message "接続に失敗しました。";
-----------------------------------------------

 これで3回まで再試行することになります。

> もう一つは、telnet接続後、すぐにtelnet接続が
> 切断されてしまう場合。

 これは、NIF.HSCのafterhangupの所の処理を工夫すれば対処できるかもしれないで
す。

 スクリプトの先頭に

    @@hangup = 1

 を入れて、さらに116行目の「EnterConnectionID:」の次辺りに

    @@hangup = 0

 を入れます。さらに、794行目の「Atoshimatsu:」の後ろに、

    if( @@hangup = 1 )
        connect "NIFTY"
    endif

 を入れておけば、再度接続してくれると思います。

 この両者を組み合わせる必要もある訳で、そうすると、

    if( @@hangup = 1 )
        #n = 0
ReConnectLoop:
        connect "NIFTY";
        #n = #n + 1;
        if( #n < 3 ) goto Loop
        message "接続に失敗しました。";
    endif

 になります。

 実際にこちらで試した訳ではないのでなんですが、一度上記の方法で試してみてほ
しいです。


[ ]