Home Forums .NET libraries Xceed SFTP/FTP for .NET FTP(s) large files greater than 1GB: Error data channel timed out due to not meeting the minimum bandwidth requirement

Viewing 4 posts - 1 through 4 (of 4 total)
  • Author
    Posts
  • User (Old forums)
    Member
    Post count: 23064
    #21371 |

    I’m getting this error trying to FTPS a file that is approximately 1.5GB. I’ve cranked up the FTPClient timeout period to 14 hours, and set the KeepAliveInterval to 30 seconds. What else can I do to make this transfer go through?

    Applies to Xceed FTP for .NET. Imported from legacy forums. Posted by ganders (had 1310 views)

    User (Old forums)
    Member
    Post count: 23064

    By the way, I now have a support license for DMS…

    Applies to Xceed FTP for .NET. Imported from legacy forums. Posted by ganders (had 228 views)

    Diane [Xceed]
    Moderator
    Post count: 1353

    Hi ganders,

    A request was submitted to the development team to investigate your issue. We will post an update once we get the developer’s feedback. Thank you for your patience.

    Applies to Xceed FTP for .NET. Imported from legacy forums. Posted by Diane [Xceed] (had 229 views)

    Diane [Xceed]
    Moderator
    Post count: 1353

    Hi ganders,

    The FTPClient timeout doesn’t regulate the maximum time a data transfer can take. Once a data connection is established within the timeout value, no timeout is applied and the control connection waits for the data transfer to complete.

    The KeepAliveInterval isn’t usually necessary in modern setups as most routers now have code that detect and make sure not to disconnect the idle control connection during a data transfer.

    When you get the exception, can you “drill down” the inner exceptions and report them to us? This will allow us to know the real cause behind the exception you’re getting.

    Each System.Exception object contains a InnerException property. You can loop on each inner exception, taking note of each exception along the way until InnerException is null.

    Example (C#):

      try
      {
        // TODO: Code that causes an exception
      }
      catch( Exception exception )
      {
        // Output some information about it
        Console.WriteLine( “–>{0}: {1}\n{2}”, exception.GetType().Name, exception.Message, exception.StackTrace );

        // Fetch the inner exception
        exception = exception.InnerException;

        // While there is an exception
        while( exception != null )
        {
          // Output some information about it
          Console.WriteLine( “–>Inner exception: {0}: {1}\n{2}”, exception.GetType().Name, exception.Message, exception.StackTrace );

          // Fetch the inner exception
          exception = exception.InnerException;
        }
      }

    Example (VB.NET):

      Try
        ‘ TODO: Code that causes an exception
      Catch exception As Exception
        ‘ Output some information about it
        Console.WriteLine(“–>{0}: {1}” & Constants.vbLf & “{2}”, exception.GetType().Name, exception.Message, exception.StackTrace)

        ‘ Fetch the inner exception
        exception = exception.InnerException

        ‘ While there is an exception
        Do While exception IsNot Nothing
          ‘ Output some information about it
          Console.WriteLine(“–>Inner exception: {0}: {1}” & Constants.vbLf & “{2}”, exception.GetType().Name, exception.Message, exception.StackTrace)

          ‘ Fetch the inner exception
          exception = exception.InnerException
        Loop
      End Try

    Also, can you set the TraceWriter property so the communication with the FTP server is logged? Then, can you send us the log of the session that is giving you problems so we can analyze it?

    Example (C#):

      FtpClient myFtpClient = new FtpClient();
      myFtpClient.TraceWriter = new StreamWriter( @”D:\Log\XceedFtp.log”, true );

    or

      FtpConnection myFtpConnection = new FtpConnection( ftpServer );
      myFtpConnection.TraceWrite = new StreamWriter( @”D:\Log\XceedFtp.log”, true );

    Example (VB.NET):

      Dim myFtpClient As New FtpClient
      myFtpClient.TraceWriter = New StreamWriter(“D:\Log\XceedFtp.log”, True)

    or

      Dim myFtpConnection As New FtpConnection( ftpServer )
      myFtpConnection.TraceWrite = New StreamWriter(“D:\Log\XceedFtp.log”, True)

    Thank you.

     

    Applies to Xceed FTP for .NET. Imported from legacy forums. Posted by Diane [Xceed] (had 1195 views)

Viewing 4 posts - 1 through 4 (of 4 total)
  • You must be logged in to reply to this topic.