A log file showing a peer sending and receiving messages and pieces from other peers.
Back to Projects

Simplified BitTorrent

February 2024 - April 2024

Tags

    JavaConsoleNetworking

About

A command-line program that implements a simplified version of the BitTorrent protocol. It was created as part of a group project to practice networking in Java and learn about peer-to-peer file sharing. Peers can join the torrent network and download pieces of a file from other peers. In the simplified protocol, each peer keeps track of the pieces every other peer has and requests pieces from peers that have the pieces they need. Every few seconds, the peers re-evaluate their preferred neighbors and unchoke the top peers to send them pieces. This system of choking and unchoking emulates the behavior of a real BitTorrent client, which is designed to maximize download speeds.

Images

A log file showing a peer sending and receiving messages and pieces from other peers.Four log files showing the activity of four peers in the network.