You will implement a reliable FTP client-server system.
Provide a simple menu to the user, e.g.
1. GET
2. PUT
3. CD
4. QUIT
Your code must be robust and handle any incorrect user input. Since there can be multiple clients querying the server at the same time with each client being serviced by a different thread on the server, the server must ensure concurrency control on the data file while it is being updated