You have chosen to sponsor your bid up to a maximum amount of .
Building a simple file sharing system. The file sharing system consists of two
types of entities: file servers and clients. A client may share its files by uploading them to one of
the file servers. A file server stores and serves the files for download. For this project the goal is to develop the following functionalities:
• The ability for the client to upload files to a server.
• The ability for the client to download files from a server.
• Your implementation should allow for multiple clients and servers. The client should
provide the ability for the user to select which file server to use for each
• The ability to resume upload and download. If file transfer between a client and a server
is interrupted (because network, server, or client has failed), the client should be able to
resume download from the same or another file server (assuming the file exists on
another file server), and the client should be able to resume upload to the same server.
In other words, the client should not have to upload/download the data that is already
uploaded/downloaded. Only use Java sockets library for developing your system. No other use of third party
software is allowed.