All components should be managed with a simple GUI. The GUI should provide a way to kill the process without using
the ‘exit’ button on the window.
You will write a centralized directory management system consisting of a server and three client processes. Each client
process will connect to the server over a socket connection and register a username at the server. The server should be
able to handle all three clients simultaneously and display the names of the connected clients in real time.
Two or more clients may not use the same username simultaneously. Should the server detect a concurrent conflict in
username, the client’s connection should be rejected, and the client’s user should be prompted to input a different
Upon connection to the server, the server will check its local disk for a directory matching the client’s username. If a
directory matching the client’s username does not exist, the server will create one. If a directory matching the client’s
username already exists, the server will utilize the existing directory. This directory will be designated the client’s home
Inside the home directory, the client will have the ability to:
• Create directories;
• Delete directories;
• Move directories;
• Rename directories; and,
• List the contents of directories.
Each client will be explicitly confined to its own home directory – no client should be able to navigate to, list the
contents of, or modify the contents of any parent directory. The user may input instructions to the client as
conventional text commands, but these commands must be accepted via the GUI, not the command line.
All three clients should have the ability to make changes and navigate through their respective home directories in
parallel. All operations performed by the server should be displayed on the server’s GUI. Any directory operation errors
generated by the server’s host operating system must be conveyed to the client and displayed to the user. Directory
operation errors should not result in the client disconnecting from the server.
6 freelancers are bidding on average $44 for this job
Hi, i read your offer, i would be happy to work on this project. I have good experience in building socket level applications using Java. Contact me to get this job done !