Skip to content

alejandromlopez/Networking-Project

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Networking-Project

CNT4007C Peer-to-Peer network project. To ensure that this project runs, it requires you to have a public and private key authentication set up for SSH. If this is not set up the SSH for the machines will ask for passwords. Also, in StartRemotePeers.java, change line 11 to include your username for the CISE machines. Finally, transfer this Project directory into the remote machines using SFTP. Make sure that the name of the directory is "Project" on the remote machine. To begin run ./compileJava in the working directory. Then you can run java StartRemotePeers. The alternative is to run the project on the localhost.

Message Payloads

Christopher Cooper, Kyle Cheng, Alejandro Lopez

  • choke
  • unchoke
  • interested
  • not interested
  • have
  • bitfield
  • request
  • piece

Protocols

Kyle Cheng, Christopher Cooper, Alejandro Lopez

  • handshake and bitfield
  • choke and unchoke
  • interested and not interested
  • request and piece

Implementation Specifics

Configuration Files

  • Common.cfg
  • PeerInfo.cfg

Peer Process

Kyle Cheng, Christopher Cooper, Alejandro Lopez

  • Peer that started should make TCP connections to all peers started before it
  • When connected to at least one peer, starts to exchange pieces
  • Peer terminates when it finds out that all peers have downloaded the complete file

Remote Machine

Kyle Cheng, Alejandro Lopez

  • Reads file PeerInfo.cfg and starts peers in the file one by one
  • Terminates after starting all peers

File Handling

Alejandro Lopez, Christopher Cooper

  • Should have subdirectories with 'peer_[peerID]'
  • Ensure that peer processes with a complete file actually contain the file before you start them

Writing Log

Kyle Cheng, Christopher Cooper

  • TCP Connection
  • Change of preferred neighbors
  • Change of optimistically unchoked neighbor
  • Unchoking
  • Choking
  • Receiving 'have' message
  • Receiving 'interested' message
  • Receiving 'not interested' message
  • Downloading a piece
  • Completion of download

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 3

  •  
  •  
  •