Overview

Understand TCP socket programing by developing a simplified FTP client that works with any standard FTP server. You must create your own socket, and cannot use any existing FTP library. You must use Python.

The client should be designed to start by typing the command:

myftp server-name

where "server-name" is the name or IP address of the server. Next, display a prompt for entering the FTP user name, followed by a prompt for entering the password.

After a successful login, the following commands should be available in the FTP client promt:

Command Function
myftp> cd remote-path Change to the "remote-path" directory in the remote server.
myftp> get remote-file Download the file named "remote-file" from the remote server to the local machine with the same file name.
myftp> put local-file Upload the file named "local-file" from the local machine to the remote server with the same file name.
myftp> delete remote-file Delete the file named "remote-file" from the remote server.
myftp> quit Quit the FTP client.

All the above commands (including entering the user name and password) when executed should return a Success/Failure status. All the path names and file names should be considered relative to the current directory (unless absolute path name is given). After a successful file transfer, a success message should be displayed with the number of bytes transferred

Please run the Windows/Linux built-in command line FTP client to see the expected result of each command. You may test your client by connecting it to any standard FTP server, or Filelilla server (https;//filezilla- project.org/download.php?type=server) running on a Windows machine.

Academic Honesty!
It is not our intention to break the school's academic policy. Posted solutions are meant to be used as a reference and should not be submitted as is. We are not held liable for any misuse of the solutions. Please see the frequently asked questions page for further questions and inquiries.
Kindly complete the form. Please provide a valid email address and we will get back to you within 24 hours. Payment is through PayPal, Buy me a Coffee or Cryptocurrency. We are a nonprofit organization however we need funds to keep this organization operating and to be able to complete our research and development projects.