NIFTYへ繋ぐ時の謎な文字No.01462
たかのぶ さん 99/05/10 17:32
 

TELNET経由でNIFTY-SERVEへ繋ごうとする時に以下のメッセージが
延々にスクロールする事があります。一度や二度だけじゃないので...

当方の使っている通信ソフトが原因でしょうか?

> recv failed. code = 10057
>
> recv failed. code = 10057
>
> recv failed. code = 10057
>
> recv failed. code = 10057

 ↑これが延々に・・・・。 (引用符は含まれてません)

因みに、私は "秀TermEvolution Ver,4.36" を使っています。

ソフトの作者とNIFTYへ同時に聞いてみます。


[ ]
RE:01462 NIFTYへ繋ぐ時の謎な文字No.01463
秀まるお さん 99/05/11 14:38
 
 このメッセージは僕(秀Term)が出しています。

 NIFTYには「NIFTYとは関係がありませんでした」と連絡していただけると
ありがたいです。(たぶん僕の所にNIFTYからも問い合わせが来てしまうと
思うので)

 このrecv failedというのは、実は僕もよく原因が分かりません。Windowsの
ソケットサービスというやつがエラーを返してくるのでそのまま表示している
だけだったりします。

 エラーコードで何か分かるかも知れないので調べてみます。


[ ]
RE:01463 NIFTYへ繋ぐ時の謎な文字No.01464
秀まるお さん 99/05/11 14:43
 
 今 winsock.hを見たら、

 WSAENOTCONN

 と書いてありました。ということは、つまり、telnetの接続が切れてしまっている
ということのようです。

 普通はtelnetが切れる場合はまず

    WSAECONNRESET
    WSAESHUTDOWN
    WSAECONNABORTED
    WSAEINTR

 のどれかのエラーが返るはずで、そのエラーを見て切断したものと処理しているは
ずなんですが、なぜかいきなりNOTCONNが来ることがあるということのようで…。

 というわけで、秀Term側の処理は(telnetが切れたと判断するように)直しておき
ます。

 どっちにしても、telnetが切れてしまうことには変わりないようです。切れること
自体はNIFTYのせいだと思います。


[ ]
RE:01462 NIFTYへ繋ぐ時の謎な文字No.01465
たかのぶ さん 99/05/11 21:06
 
>  このメッセージは僕(秀Term)が出しています。
>
>  NIFTYには「NIFTYとは関係がありませんでした」と連絡していただけると
> ありがたいです。(たぶん僕の所にNIFTYからも問い合わせが来てしまうと
> 思うので)

どうもです。
NIFTYへもメールを出しておきました。
次に、やっている事を投稿してみようかと思います。
原因がわかっただけでも満足です。
ありがとうございました。


[ ]
RE:01463 NIFTYへ繋ぐ時の謎な文字No.01466
たかのぶ さん 99/05/11 22:28
 

もしかすると、スクリプトが原因だったりして(^^;

やっている事は、永久変数に接続先名を入れておいて
ログインが成功しない限り(電話が切れるとすぐ)にリトライを繰り返し
最高10回程度のカウンタを入れて何とかして繋ごうって物なんですけども、
その処理にCPUが追いついていないのかな(^^;

まず、自動起動ScriptにNIF.HSCを改造した私のを入れて置く。
ホスト登録は NIFTY-TELNETと言う名前で仮定。
いちいちコメントも入れておく事にします。

=================================================================

;++++++++++++++++++++++++ ここから ログイン部分 ++++++++++++
   gethostname #HostName ; NIF.HSC (25行目付近)
   %LOG_IN_NIF = #HostName ; 永久変数で記憶させておく
   %LOG_IN_NIF2 = value(%LOG_IN_NIF2) + 1 ; リトライ回数も念の為

; 〜〜
; (接続処理はNIF.HSC そのままを使用)
; 〜〜

;************* 未読メールを自動で読みます。
; ◆ 成功したら不要な永久変数を消す
   %LOG_IN_NIF = "" ; ログインが成功した
   %LOG_IN_NIF = "" ; カウンタもクリア

;++++++++++++ ここまで ++++++++++++


;++++++++++++ ここからは 再接続処理 ++++++++++++
; 後始末を細工 NIF.HSC (800行目付近)
 if(value(%LOG_IN_NIF2) >= 10)
   %LOG_IN_NIF = ""
   message value(%LOG_IN_NIF2)+" 回繰り返したけど..ダメでした..^M"+\
     "もしかすると、メンテとか? 単なる混みすぎとか...^M"
     %LOG_IN_NIF2 = ""
 endif
 if(%LOG_IN_NIF != "")
    connect %LOG_IN_NIF
 endif
;++++++++++++ ここまで ++++++++++++

=================================================================

これで...もしかすると、再現出来るかも。


[ ]