Today we want to introduce 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.
How does it work?
- 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!
Build and Run
First clone the repo
git clone https://github.com/iust-projects/multipart-downloader
Then use dotnet cli commands
cd server dotnet build dotnet run cd ..\client dotnet build dotnet run