Skip to content

Peer-to-peer system for efficient file sharing task supporting multiple peers to share one file simultaneously across heterogeneous devices and architectures using computer networks concepts and socket programming

Notifications You must be signed in to change notification settings

mananchhajer/p2p_file_sharing

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

15 Commits
 
 
 
 
 
 
 
 

Repository files navigation

P2P File Sharing and different Variants

Peer-to-peer system for efficient file sharing task supporting multiple peers to share one file simultaneously across heterogeneous devices and architectures using computer networks concepts and socket programming


Table of Contents

  • Module 1: One peer to another peer
  • Module 2: Multiple peers to one peer
  • Module 3: Corner Cases and flexible features

Separate ReadMe attached to each module


Module 1: One peer to another peer

  • Tracker-peer architecture

Run

    $ cd 1p2p
    $ py IP.py
    $ py tracker.py
    # py peer.py

Module 2: Multiple peers to one peer

  • Concurrent sharing of equivalent portion of file using threading

Run

    $ cd p2p_multiple
    $ py IP.py
    $ py tracker.py
    $ run multiple peers on different devices, or as different programs
    # py peer.py

9


Module 3: Corner Cases and flexible features

  • Flexibility during the change of wifi
  • Working under heterogeneous devices

1

CornerCases

  • What happens to the peer information at tracker when peer disconnects?
  • What happens if one peer gets disconnected while sharing a file with another peer?
  • What happens if one of the peers goes down while file sharing from multiple peers to one peer?

Demo

LINK

NOTE: Run the IP.py file to change the corresponding IP address of wifi interface

About

Peer-to-peer system for efficient file sharing task supporting multiple peers to share one file simultaneously across heterogeneous devices and architectures using computer networks concepts and socket programming

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Python 100.0%