チケット #34608

Telenetで再接続できない

登録: 2014-11-17 19:53 最終更新: 2014-11-30 00:45

報告者:
担当者:
チケットの種類:
状況:
完了
コンポーネント:
マイルストーン:
優先度:
5 - 中
重要度:
5 - 中
解決法:
修正済み
ファイル:
1
投票
点数: 0
No votes
0.0% (0/0)
0.0% (0/0)

詳細

Tera Term バージョン:4.84

connect時に、ネットワークケーブルを抜いた状態でコマンドを発行(result=0)後、ネットワークケーブルを接続し、 再度connectコマンドを発行しても、result=0となって接続できない。

ケーブル未接続時は、Tera Termが一瞬だけ表示されるがすぐ消えて、result=0でconnectコマンドが終了する。

なお、サーバー側でNATをdownさせた場合は、Tera Termは表示されるが、しばらく経ってからresult=0でconnectコマンドが終了する。(タイムアウト) サーバー側NATをupし、再度connectコマンドを発行すると、正常に接続される。

チケットの履歴 (16 件中 3 件表示)

2014-11-17 19:53 更新者: nekomeshi1975
  • 新しいチケット "Telenetで再接続できない" が作成されました
2014-11-17 22:39 更新者: (del#1144)
コメント

手元の環境では「ネットワークケーブルを抜いた状態で接続」「サーバが上がっていないIPアドレスに接続」「サーバが上がっているIPアドレスの開いてないポートに接続」のどれをしても、resultは1になりました。

マクロはどのように開始していますか?ttlファイルをダブルクリックですか?接続していないTera Termの「Control」-「Macro」からファイルを選択ですか?

2014-11-18 11:20 更新者: nekomeshi1975
コメント

お世話になっています。 ttlダブルクリックで起動した場合と、WSHのJScriptから Run("cmd /c ttpmacro マクロファイル名");(PATHにttpmacroのパス設定済み)のどちらで起動しても 同様の事象となります。

使用しているマクロファイルを添付いたしますので、マクロ上問題ないかご確認お願いできるでしょうか。

添付したファイルの9行目のメッセージボックスが出ている段階で、ケーブルを抜き、11行目のconnectを実行(失敗)

その後、ケーブルを指してしばらくしてから、25行目のconnect処理で、result=0となってしまいます。 (19行目のtestlinkは、Tera Term自体が起動していないので、0になります)

お手数ですがよろしくお願いします。

2014-11-18 12:03 更新者: doda
  • 解決法なし から 受領 に更新されました
コメント

現象が再現しました。調査します。

2014-11-18 12:06 更新者: doda
コメント

maya への返信

手元の環境では「ネットワークケーブルを抜いた状態で接続」「サーバが上がっていないIPアドレスに接続」「サーバが上がっているIPアドレスの開いてないポートに接続」のどれをしても、resultは1になりました。

手元では AutoWinClose が on の時のみ再現しました。

AutoWinClose が off だと VT ウィンドウが閉じないので再現しないようです。

2014-11-18 12:46 更新者: nekomeshi1975
コメント

了解致しました。 AutoWinClose On で再度確認してみます。

2014-11-18 12:48 更新者: nekomeshi1975
コメント

失礼しました、OFFで再度確認してみます

2014-11-18 13:01 更新者: (del#1144)
コメント

doda への返信

手元では AutoWinClose が on の時のみ再現しました。 AutoWinClose が off だと VT ウィンドウが閉じないので再現しないようです。

うちは AutoWinClose = on ですが再現しません。うちとはなにか条件が違うのかもしれません。

最初のconnectのresultが0(Tera Term とリンクされていない)になるのが腑に落ちません。resultを0にしたあとttermproを立ち上げに行くはずだと思うのです。

2回目についてはTopicNameが初期化(前のDDE通信?が終了)されていないように見えますね。

2014-11-18 13:13 更新者: nekomeshi1975
  • チケットの種類バグ から 機能リクエスト に更新されました
コメント

お世話になっております。 無事、想定どおりの動作が出来ました。

AutoWinClose = On時の動作につきましては、本チケットを「機能リクエスト」に変更して残しておきます。

以上、よろしくお願いします。

2014-11-18 21:30 更新者: doda
コメント

状況が見えてきました。

maya への返信

最初のconnectのresultが0(Tera Term とリンクされていない)になるのが腑に落ちません。resultを0にしたあとttermproを立ち上げに行くはずだと思うのです。

ケーブルが刺さってないと一瞬 VT ウィンドウを表示した後にエラーダイアログ等を出さずに即終了します。

# 環境によって動作が違う?

これが原因で Tera Term がマクロ側に WM_USER_DDEREADY を投げた後、 マクロ側で DdeInitialize() を実行する前に Tera Term が終了し、 DdeInitialize() が失敗します。

2回目についてはTopicNameが初期化(前のDDE通信?が終了)されていないように見えますね。

DdeInitialize() が失敗した後に TopicName をクリアしていないので、リンクしていないのに TopicName が設定されているという状況になり、以降の connect で ttermpro.exe を起動できなくなっています。

とりあえずは OnDdeReady() で InitDDE() が失敗した時は TopicName をクリアする事で回避できそうです。

本当は Tera Term 側がエラーダイアログ等を出さずに終了する原因を調べる方がいいのでしょうけれど。

2014-11-18 21:31 更新者: doda
  • チケットの種類機能リクエスト から バグ に更新されました
2014-11-18 21:44 更新者: doda
  • 担当者(未割り当て) から doda に更新されました
コメント

修正してみました。これでどうでしょうか?

http://ttssh2.sourceforge.jp/snapshot/snapshot-20141118.zip

2014-11-18 21:58 更新者: (del#1144)
コメント

doda への返信

ケーブルが刺さってないと一瞬 VT ウィンドウを表示した後にエラーダイアログ等を出さずに即終了します。 # 環境によって動作が違う?

resultが0になるときと1になるときがありますが、すぐ終了するのが再現しました。

# ワイヤレスネットワーク接続(アダプタ)をうまく無効にできてなかったっぽいです。

2014-11-21 14:44 更新者: (del#1144)
  • 解決法受領 から 修正済み に更新されました
コメント

本当は Tera Term 側がエラーダイアログ等を出さずに終了する原因を調べる方がいいのでしょうけれど。

マクロから実行されているからじゃないでしょうか。

同じ条件で Tera Term 単体で接続するとすぐに「Cannot connect the host」で終了します。CommStart() で作られるメッセージですが、表示するかは cv->NoMsg で決まります。

AcceptExecute() をみると CmdConnect のときに cv.NoMsg = 1 しています。

r5702 の修正で十分、と言えると思いますがいかがでしょうか。

2014-11-30 00:45 更新者: (del#1144)
  • チケット完了時刻2014-11-30 00:45 に更新されました
  • 状況オープン から 完了 に更新されました

添付ファイルリスト

  • test.ttl(1KB)
    • 再接続テストマクロ

編集

ログインしていません。ログインしていない状態では、コメントに記載者の記録が残りません。 » ログインする