A peer to peer file sharing system has been implemented with 5 peers and a server. The peers are connected to the server and the server follows a Not-always-on policy. Concepts such as socket programming, multithreading and parallel downloading among peers have been implemented. The file is divided into chunks of 100KB for sharing and the chunks are merged to form the entire file at destination peer.