私は 1 年以上前に c# で ftp クライアント クラスを見つけ、夜間にファイルをアップロードするプロセスでそれを使用しています。数日前、タイムアウトするという問題が発生し始めました。私はこれに精通していないので、なぜこれをしているのかわかりません。
プログラムがファイルのアップロードを開始すると、ログインしているかどうかを確認し、ログインしていない場合は login メソッドを呼び出します。そのメソッドには、このコード ブロックがあります。
if (this.resultCode != 230)
{
this.sendCommand("PASS " + password);
if (!(this.resultCode == 230 || this.resultCode == 202))
{
this.cleanup();
throw new FtpException(this.result.Substring(4));
}
}
this.sendCommand("PASS"... という行で、このコードに入ります。
private void sendCommand(String command)
{
if (this.verboseDebugging) Debug.WriteLine(command, "FtpClient");
Byte[] cmdBytes = Encoding.ASCII.GetBytes((command + "\r\n").ToCharArray());
clientSocket.Send(cmdBytes, cmdBytes.Length, 0);
this.readResponse();
}
プログラムを実行すると、タイムアウトします。ただし、sendCommand メソッドにステップスルーすると、正常に実行されます。ステップスルーするとうまくいく理由を誰か知っていますか?私たちの側では何も変わっておらず、クライアント側でも何も変わっていないと言われたので、困惑しています. ありがとう。