Understand TCP socket programming by developing a simplified FTP client that works in the active mode. You must create your own socket, and cannot use any existing FTP library. You may use Python, Java, or C++/C as the programming language. This is an independent project.
The client should be designed to start by typing the command:
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 prompt:
myftp - ls List the files in the current directory of 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. Remember that the FTP client should work in the active mode.
Please run the Windows 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, such as [url removed, login to view] (user name: demo, password: demopass) or FileZilla server (https://filezilla-‐[url removed, login to view]) running on a Windows machine.