Warning This is a custom TCP protocol for demonstration purposes only and most definitely suffers from security and efficiency issues. As a result, using this protocol for a real world scenario is not planned, nor recommended.
This is a sample socket proramming project which serves a file in server, and client can ask server to chunk the files and serve each part separately.
- Run server and provide a file path to it. Now server serves the file for any client who request it, asynchronously.
- Run as many as clients you want. Each client should ask server how many parts it want, and at every stage provide a partition (chunk) number to server.
- When you download all the parts, client automatically merges the parts and dinner is served!
By: Aryan EbrahimPour
Built in Iran University of Science and Technology
First clone this repo
git clone https://github.com/avestura/multipart-downloader
Then use dotnet cli commands
cd server
dotnet build
dotnet run
cd ..\client
dotnet build
dotnet run