Our Products:   CompleteFTP  edtFTPnet/Free  edtFTPnet/PRO  edtFTPj/Free  edtFTPj/PRO
0 votes
6.1k views
in Java FTP by (120 points)
In my app, I am using edtFTPj to download a few large files (400 MB). The first file always succeeds in downloading. Below is an example of the errors produced for the second file. In this case the first and third files downloaded without problem. In other testing, using small files, downloads are successful using the same code.

Any help you can provide would be appreciated.

-dbnettle

INFO [JWebServerBackup.JWebServerBackup] 16 Aug 2009 20:53:58.394 : Check to see if the file backup-8.15.2009_02-30-04.tar.gz exists before downloading.
DEBUG [FTPControlSocket] 16 Aug 2009 20:53:58.394 : ---> SIZE backup-8.15.2009_02-30-04.tar.gz
DEBUG [FTPControlSocket] 16 Aug 2009 20:53:58.430 : 213 400695138
INFO [JWebServerBackup.JWebServerBackup] 16 Aug 2009 20:53:58.430 : Beginning download of backup-8.15.2009_02-30-04.tar.gz
DEBUG [FTPControlSocket] 16 Aug 2009 20:53:58.430 : ---> PWD
DEBUG [FTPControlSocket] 16 Aug 2009 20:53:58.461 : 257 "/" is your current location
DEBUG [FTPClient] 16 Aug 2009 20:53:58.462 : Attempt #1
DEBUG [FTPControlSocket] 16 Aug 2009 20:53:58.462 : ListenOnAllInterfaces=true
DEBUG [FTPControlSocket] 16 Aug 2009 20:53:58.462 : ---> PORT 192,168,5,104,157,196
DEBUG [FTPControlSocket] 16 Aug 2009 20:53:58.590 : 200 PORT command successful
DEBUG [FTPControlSocket] 16 Aug 2009 20:53:58.590 : ---> RETR backup-8.15.2009_02-30-04.tar.gz
ERROR [FTPControlSocket] 16 Aug 2009 20:54:58.632 : Read failed ('' read so far)
ERROR [FTPClient] 16 Aug 2009 20:54:58.634 : Caught and rethrowing exception in initGet() : Read timed out
com.enterprisedt.net.ftp.ControlChannelIOException: Read timed out
   at com.enterprisedt.net.ftp.FTPControlSocket.readLine(FTPControlSocket.java:962)
   at com.enterprisedt.net.ftp.FTPControlSocket.readReply(FTPControlSocket.java:997)
   at com.enterprisedt.net.ftp.FTPControlSocket.sendCommand(FTPControlSocket.java:921)
   at com.enterprisedt.net.ftp.FTPClient.initGet(FTPClient.java:2861)
   at com.enterprisedt.net.ftp.FTPClient.getData(FTPClient.java:2911)
   at com.enterprisedt.net.ftp.FTPClient.getFile(FTPClient.java:2751)
   at com.enterprisedt.net.ftp.FTPClient.get(FTPClient.java:2170)
   at com.enterprisedt.net.ftp.FileTransferClient.downloadFile(FileTransferClient.java:610)
   at com.enterprisedt.net.ftp.FileTransferClient.downloadFile(FileTransferClient.java:590)
   at JWebServerBackup.JWebServerBackup.downloadFiles(JWebServerBackup.java:164)
   at JWebServerBackup.JWebServerBackup.<init>(JWebServerBackup.java:69)
   at JWebServerBackup.JWebServerBackup.main(JWebServerBackup.java:43)
   at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
   at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
   at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
   at java.lang.reflect.Method.invoke(Method.java:597)
   at org.eclipse.jdt.internal.jarinjarloader.JarRsrcLoader.main(JarRsrcLoader.java:56)


com.enterprisedt.net.ftp.ControlChannelIOException: Read timed out
   at com.enterprisedt.net.ftp.FTPControlSocket.readLine(FTPControlSocket.java:962)
   at com.enterprisedt.net.ftp.FTPControlSocket.readReply(FTPControlSocket.java:997)
   at com.enterprisedt.net.ftp.FTPControlSocket.sendCommand(FTPControlSocket.java:921)
   at com.enterprisedt.net.ftp.FTPClient.initGet(FTPClient.java:2861)
   at com.enterprisedt.net.ftp.FTPClient.getData(FTPClient.java:2911)
   at com.enterprisedt.net.ftp.FTPClient.getFile(FTPClient.java:2751)
   at com.enterprisedt.net.ftp.FTPClient.get(FTPClient.java:2170)
   at com.enterprisedt.net.ftp.FileTransferClient.downloadFile(FileTransferClient.java:610)
   at com.enterprisedt.net.ftp.FileTransferClient.downloadFile(FileTransferClient.java:590)
   at JWebServerBackup.JWebServerBackup.downloadFiles(JWebServerBackup.java:164)
   at JWebServerBackup.JWebServerBackup.<init>(JWebServerBackup.java:69)
   at JWebServerBackup.JWebServerBackup.main(JWebServerBackup.java:43)
   at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
   at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
   at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
   at java.lang.reflect.Method.invoke(Method.java:597)
   at org.eclipse.jdt.internal.jarinjarloader.JarRsrcLoader.main(JarRsrcLoader.java:56)

DEBUG [FTPActiveDataSocket] 16 Aug 2009 20:54:58.639 : close() succeeded
DEBUG [FTPClient] 16 Aug 2009 20:54:58.640 : Sleeping for 5000 ms prior to retry
ERROR [FTPClient] 16 Aug 2009 20:55:03.641 : Transfer error on attempt #1: reconnecting & retrying:  : Read timed out
com.enterprisedt.net.ftp.ControlChannelIOException: Read timed out
   at com.enterprisedt.net.ftp.FTPControlSocket.readLine(FTPControlSocket.java:962)
   at com.enterprisedt.net.ftp.FTPControlSocket.readReply(FTPControlSocket.java:997)
   at com.enterprisedt.net.ftp.FTPControlSocket.sendCommand(FTPControlSocket.java:921)
   at com.enterprisedt.net.ftp.FTPClient.initGet(FTPClient.java:2861)
   at com.enterprisedt.net.ftp.FTPClient.getData(FTPClient.java:2911)
   at com.enterprisedt.net.ftp.FTPClient.getFile(FTPClient.java:2751)
   at com.enterprisedt.net.ftp.FTPClient.get(FTPClient.java:2170)
   at com.enterprisedt.net.ftp.FileTransferClient.downloadFile(FileTransferClient.java:610)
   at com.enterprisedt.net.ftp.FileTransferClient.downloadFile(FileTransferClient.java:590)
   at JWebServerBackup.JWebServerBackup.downloadFiles(JWebServerBackup.java:164)
   at JWebServerBackup.JWebServerBackup.<init>(JWebServerBackup.java:69)
   at JWebServerBackup.JWebServerBackup.main(JWebServerBackup.java:43)
   at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
   at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
   at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
   at java.lang.reflect.Method.invoke(Method.java:597)
   at org.eclipse.jdt.internal.jarinjarloader.JarRsrcLoader.main(JarRsrcLoader.java:56)


com.enterprisedt.net.ftp.ControlChannelIOException: Read timed out
   at com.enterprisedt.net.ftp.FTPControlSocket.readLine(FTPControlSocket.java:962)
   at com.enterprisedt.net.ftp.FTPControlSocket.readReply(FTPControlSocket.java:997)
   at com.enterprisedt.net.ftp.FTPControlSocket.sendCommand(FTPControlSocket.java:921)
   at com.enterprisedt.net.ftp.FTPClient.initGet(FTPClient.java:2861)
   at com.enterprisedt.net.ftp.FTPClient.getData(FTPClient.java:2911)
   at com.enterprisedt.net.ftp.FTPClient.getFile(FTPClient.java:2751)
   at com.enterprisedt.net.ftp.FTPClient.get(FTPClient.java:2170)
   at com.enterprisedt.net.ftp.FileTransferClient.downloadFile(Fil

1 Answer

0 votes
by (162k points)
It looks like the server is timing out the control connection for the largest files.

Then when it tries to resume the transfer automatically, you get

-> REST 0
<- 502 Command not implemented.

which is pretty strange - there are few servers where REST isn't implemented.

Categories

...