A user writes:
I was reviewing the documentation for the 2.0.0 release of the free FTP client, and I was wondering if 'FTP Streams' is different than simply opening up a TCP socket for the connection? I googled it, but didn't find what I wanted. Is it just multiple threads for the transfer? Do you have a link that would explain this.
FTP streams means the data can be read from or written to the server as an InputStream or an OutputStream.
You can't do this with a raw socket, as all the FTP protocol stuff must be done on top of the socket. For example, if you are reading the stream in ASCII mode, all the CRLF translations must be performed. Even in binary mode the correct messages must be sent in the right order to complete the transfer.
If you take a look at the code in FTPInputStream.java and FTPOutputStream.java you'll see what I mean.