https://github.com/avestura/multipart-downloader
⏬ A multi-part asset Server with .NET Sockets
https://github.com/avestura/multipart-downloader
csharp dotnet iust socket socket-programming
Last synced: 2 months ago
JSON representation
⏬ A multi-part asset Server with .NET Sockets
- Host: GitHub
- URL: https://github.com/avestura/multipart-downloader
- Owner: avestura
- License: gpl-3.0
- Created: 2019-11-05T21:15:31.000Z (almost 6 years ago)
- Default Branch: master
- Last Pushed: 2022-09-10T05:47:54.000Z (about 3 years ago)
- Last Synced: 2025-03-10T06:55:20.678Z (7 months ago)
- Topics: csharp, dotnet, iust, socket, socket-programming
- Language: C#
- Homepage:
- Size: 192 KB
- Stars: 2
- Watchers: 1
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: readme.md
- License: LICENSE
Awesome Lists containing this project
README
# MultiPart Downloader
> **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.
### How does it work?
1. Run server and provide a file path to it. Now server serves the file for any client who request it, asynchronously.
2. 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.
3. 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](https://iust.ac.ir)
## Screenshot

## Build and Run
First clone this repo
```bash
git clone https://github.com/avestura/multipart-downloader
```Then use dotnet cli commands
```
cd server
dotnet build
dotnet runcd ..\client
dotnet build
dotnet run
```