Designed a peer-to-peer communication in which a peer that wants to download an RFC communicates with an active peer that has the RFC. Implemented the TCP protocol for communication between the peers. The peers can also communicate with the server to update their status.