FTP Explorer in C#


I have developed a GUI based FTP client application. This takes connection information and populates folder and files in treeview and listview respectively. Currently this application is developed and tested with Microsoft NT 5.0,IBM AIX and Sun Solaris 5.6 FTP services. In future I am planning to extend the functionality to Mainframe and AS400 operating system FTP services.

This application expects SYST FTP command to be implemented by FTP Server. To display folder and file information, I need to parse the output of LIST command from the FTP server, for this I need to know the FTP Server OS type. Because the output of LIST command is different for different OS.

Source Code

The complete source code is available in FTPExplorer.zip file. The application main window snap shot is shown here.

This application illustrates about File Transfer Protocol, types of connection, various control and data connection commands like USER, PASS, SYST, MODE, TYPE, PORT, LIST, RETR, QUIT etc. to name a few.

This application illustrates the usage of System.Net and System.Net.Sockets namespace and classes like Socket, TCPListener. Connecting to server, Sending and Receiving data. Handling timeouts and closing sockets. Apart from this it also illustrates the usage of common controls like Treeview, Listview, tab control, ImageList, Statusbar, Toolbar, Tooltip, Progress bar etc.

File upload,creating directory,deleting directory,deleting files etc are still under development. Also Binary mode of file transfer is not possible in this version. Probably in next release I will implement those FTP commands.