The idea is to design and program a communication protocol for a peer-to-peer system like Bittorrent.
In this system you have :
- A tracker that contains a list of the available files and the nodes having these files
- N nodes. A node (or peer) holds some files and may want to download other files.
In this system you should implement the following methods:
- Method allowing anode to join the overlay
- Method allowing a node to search for a file
- Method allowing a node to download a file
The communication is based on TCP