FTP Server and Client

Description
In this exercise you are asked to design and develop a custom concurrent FTP Server named TigerS and its associated FTP client named TigerC. Once TigerS starts on a host, it will listen for incoming requests from multiple TigerC clients. You are requested to implement three basic commands for TigerS and TigerC:

1. tconnect <TigerS IP Address> <User> <Password>: This command takes the IP address of the TigerS, and the client user name and a password as parameters. If the provided user name and password are correct, then the client is allowed to connect TigerS, otherwise an error message is returned.

2. tget <File Name>: The command expects the name of the file to download from TigerS as parameter. If the file exists, it is downloaded from the server, otherwise an error message is displayed.

3. tput <File Name>: The tput command takes the name of the file to upload and uploads it to the TigerS host.