This Python project implements a peer-to-peer (P2P) file-sharing system using socket programming. The system allows users to host and download files over a local network.
- Efficient P2P file transfer using both TCP and UDP sockets.
- Smart file handling with binary operations and chunking for optimized large file transfers.
- Concurrent processing to enhance system performance, enabling simultaneous operations for incoming connections and file serving.
- Robust security measures with firewall configurations and error handling for increased reliability.
- Modular project architecture, featuring separate scripts for hosting, downloading, and service announcement for collaborative development.
-
Clone the repository:
git clone https://github.com/your-username/P2P-File-Sharing.git
-
Navigate to the project directory:
cd Peer2Peer-File_Sharing_System
-
Run the script to announce the information:
python announcer.py
-
Run the script to listen to the information:
python listener.py
-
Run the server script:
python server.py
-
Run the client script:
python downloader.py
- Customize the project settings in the scripts, such as port numbers, file paths, and network configurations.
- Ensure that firewall rules are configured to allow communication on the specified ports.
- Python 3.x
Contributions are welcome! If you have ideas for improvements or encounter issues, feel free to open an issue or submit a pull request.
Make sure to replace placeholders like your-username
and add relevant details such as project dependencies, additional configuration steps, or specific usage instructions based on your project's characteristics.