We don't use abort any more to cancel transfers - it doesn't work reliably across FTP servers (it hangs).
Do you lose the control socket? Can you post a log file?
These are the errors logged in my log file, after the invoke of "cancelTransfer()" method during ftp transfer from Server to Client.
In order to help you, I report the FTP transfer settings:
- Mode: Passive
- Type: Bin
This problem occur only in Server -> Client transfer, and it seems more probably in small size files.
I've tried to copy a ".doc" file with size 464Kb and in this one I've verify this kind of error.
The same test with "*.mdb" file with size of 1.893kb may be not have this error.
You'll can see the extract of my log file below.
First Exception is generated by cancelTrasnsfer, second by other action that try to comunicate with socket opened by ftp (copy, quit etc.).
2006-04-21 11:16:48 ERROR [Thread-4] LOG - Unexpected null reply received
java.io.IOException: Unexpected null reply received
at com.enterprisedt.net.ftp.FTPControlSocket.readReply(FTPControlSocket.java:686)
at com.enterprisedt.net.ftp.FTPControlSocket.sendCommand(FTPControlSocket.java:649)
at com.enterprisedt.net.ftp.FTPClient.setType(FTPClient.java:2190)
at sctra.socket.visualFTP.FTPManager.setType(FTPManager.java:206)
at sctra.socket.visualFTP.FTPThreadTransfer.write(FTPThreadTransfer.java:506)
at sctra.socket.visualFTP.FTPThreadTransfer.copyFile(FTPThreadTransfer.java:314)
at sctra.socket.visualFTP.FTPThreadTransfer.run(FTPThreadTransfer.java:141)
at java.lang.Thread.run(Unknown Source)
2006-04-21 11:16:57 DEBUG [Thread-2] LOG - Keep Alive Thread exit
2006-04-21 11:17:00 ERROR [AWT-EventQueue-0] LOG - Software caused connection abort: socket write error
java.net.SocketException: Software caused connection abort: socket write error
at java.net.SocketOutputStream.socketWrite0(Native Method)
at java.net.SocketOutputStream.socketWrite(Unknown Source)
at java.net.SocketOutputStream.write(Unknown Source)
at sun.nio.cs.StreamEncoder$CharsetSE.writeBytes(Unknown Source)
at sun.nio.cs.StreamEncoder$CharsetSE.implFlushBuffer(Unknown Source)
at sun.nio.cs.StreamEncoder$CharsetSE.implFlush(Unknown Source)
at sun.nio.cs.StreamEncoder.flush(Unknown Source)
at java.io.OutputStreamWriter.flush(Unknown Source)
at com.enterprisedt.net.ftp.FTPControlSocket.writeCommand(FTPControlSocket.java:665)
at com.enterprisedt.net.ftp.FTPControlSocket.sendCommand(FTPControlSocket.java:646)
at com.enterprisedt.net.ftp.FTPClient.quit(FTPClient.java:2423)
at sctra.socket.visualFTP.FTPManager.quit(FTPManager.java:192)
at sctra.socket.visualFTP.browser.RemoteFileSistemBrowser.closeBrowsing(RemoteFileSistemBrowser.java:162)
at sctra.socket.visualFTP.gui.FileSystemBrowserGui.closeBrowsing(FileSystemBrowserGui.java:466)
at sctra.socket.visualFTP.JFrmVisualFTP.exit(JFrmVisualFTP.java:474)
at sctra.socket.visualFTP.JFrmVisualFTP.access$0(JFrmVisualFTP.java:450)
at sctra.socket.visualFTP.JFrmVisualFTP$1.windowClosing(JFrmVisualFTP.java:344)
at java.awt.Window.processWindowEvent(Unknown Source)
at javax.swing.JFrame.processWindowEvent(Unknown Source)
at java.awt.Window.processEvent(Unknown Source)
at java.awt.Component.dispatchEventImpl(Unknown Source)
at java.awt.Container.dispatchEventImpl(Unknown Source)
at java.awt.Window.dispatchEventImpl(Unknown Source)
at java.awt.Component.dispatchEvent(Unknown Source)
at java.awt.EventQueue.dispatchEvent(Unknown Source)
at java.awt.EventDispatchThread.pumpOneEventForHierarchy(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.run(Unknown Source)