Client - Server Application with centralized index. Peer to Peer file transfer over TCP using Go-Back-N