掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
IdFTP.QUIT について (ID:14859)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
クライアントソフトを作っています。 サーバーにデータ転送後のやり取りは以下のようにしています。 IdFTP.Put(Fname1,Fname1,false); if TranseringFlag then IdFTP.Abort; IdFTP.Quit; 本来転送終了後サーバーから「226」が送られ、 引き続き、クライアントから「QUIT」を送ります。 このとき、サーバーから「221」の応答をうけとるまえに IdFTP.QUit は無条件のように「Ack+Fin」を送るみたいです。 (思い込みかもしれませんが) ただ、この場合相手のサーバーは[A]に引き続き[A+F]を送り、 クライアントは[A]を返して正常に終了するので 問題ないのですが、 [QUIT]が送られたあと、タイミングよくサーバーから[A]が 送られた場合、サーバーは次に[221]の応答を返そうとするのですが、 その前にクライアント(IdFTP.Quit)は[A+F]を送ってしまい。 クライアントはその後サーバーから[221]を受け取るのですが、 [Ack+Reset]を返してしまいます。 そこで、サーバーは「221」を受け取ってもらおうと 何度も送ってきますが、パケットモニター上では クライアントは[R]を返しているようです。 ただ、ホストでは処理が戻ってきているので 次に IdFTP.Connect を実行しにいこうとすると コネクトエラーになって接続できない状態になります。 何とかならないでしょうか? よろしくお願いします。
←解決時は質問者本人がここをチェックしてください。
戻る
掲示板システム
Copyright 2021 Takeshi Okamoto All Rights Reserved.