Peer to peer file exchange with central server for address resolution. Final project for the elective course Modern Java Technologies
The client implements these commands
register <user> <file1, file2, file3, …., fileN>- registers which files are available at his machineunregister <user> <file1, file2, file3, …., fileN>list-files– lists all files that are registered at the server and the usernames of their owners.download <user> <path to file on user> <path to save>- downloads the file from the user.
The server stores the mapping between the files and the clients ip addresses. The client updates its local mapping from the server every 30 seconds.
The client has a mini server that handles download requests from other clients.
- Client A registers a file to the server
- The server stores the ip address of client A and the name of the file
- Client B shows to the user the addresses and the usernames in its local mapping
- Client B requests the file from the mini server of the client A
- The mini server of client A sends the file, one file at a time
