ネットワーク

64. Ftp タイムアウト値を調整するには ?

DOS コマンドで Ftp接続にに行くと、

CONNECTION WILL CLOSE IF IDLE MORE THAN 5 MINUTES

( 5分間以上のアイドル時間が空くと接続は失われます。)

とのメッセージを良く見かけるはずである。
この 5分間のアイドル時間、つまり何も応答がない時間が 5 分以上続くと

「接続がリモート・ホストによって閉じられました」

のようなメッセージが表示されて、Ftpは強制終了する。
これは Ftpサーバーが強制的に終了しているのである。
( Ftpクライアントの強制終了する仕様はない。)
アイドル時間というのは、あなたが次の入力もせずに 5 分以上何の操作もなく
放置した場合だけでなく、Ftp サーバーが 5分以上応答を得ることができなかった
場合も含まれている。

つまり Ftp の rcmd でプログラムを実行して、そのプログラムが 5 分以上連続して
実行される場合も同じことである。
Windows のタスク・マネージャーで 「無応答」とか「応答なし」というメッセージ表記は
実に不適切であり実行中のためにまだ応答がない、つまり「応答待ち」とすべきなのであるが、
「応答なし」と表記しているためにユーザーは不適切な障害の状態であると誤解してしまうのである。
Ftp で rcmd で実行に5分以上を必要とする業務を実行したとしてもタスク・マネージャーで見ると、
やはり「応答なし」と表示されているはずだ。

さてこの5分という待ち時間を変更するには CHGFTPA コマンドで変更することができる。
CHGFTPA + [F4キー] を押すと

のように表示されるので「非活動タイムアウト」を 300秒 (5分) から任意の値に
拡張することができる。
ただし CHGFTPA で Ftpの値を変更した後は Ftpサーバーを再起動しないと
変更した値は有効にはならない

Ftpサーバーの再起動は、

[ 停  止 ] ENDTCPSVR SERVER(*FTP)
[ 再開始 ] STRTCPSVR SERVER(*FTP)

Ftpサーバーが開始されているか終了しているかは

NETSTAT *CNN + [実行] 

PORT = 21 が活動中であるか、そうでないかで判別することができる。
また ENDTCPSVR の操作には、くれぐれも注意すること。
ENDTCPSVR の SERVER パラメータの省略値は *ALL であるので ENDTCPSVR とだけ
打鍵して ENTER すると、すべての TCP/IPサーバーは停止する
つまり、あなたの 5250 エミュレータも社内すべての エミュレータもHTTPサーバーも停止して
大パニックになることは間違いないので注意すること。

■ Ftpサーバー
Ftpサーバーは RFC 規格の Ftpプロトコルに準拠して開発されているので、
すべての Ftpサーバーは同じ命令と同じ操作で動作するように設計されている。
いかに IBM でも Microsoft でも OS のリリースによって Ftpの仕様を変更したりすることはない。
これは TCP/IP ユーティリティーすべてについて同じである。
ただしソフトウェア・メーカーによっては規格の上に独自の機能を追加しているものもあるかも
知れないが、最低限 RFC の規格には準拠しているからこそメーカーの異なるサーバーでも
同じ Ftpクライアントで操作することができるのである。