fwqaq / P2P-downloader

点对点文件下载器

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

P2P-downloader

点对点文件下载器

开发环境:基于C/C++语言在Centos7.2系统的开发,使用工具vim,gcc/g++,gdb,make,git。

项目介绍:实现在局域网中文件的点对点的下载。服务端同意客户端请求,返回文件列表和数据读取并发送,客户端进行请求配对,选择文件下载。

项目功能模块: 服务端:

  1. 接受客户端的配对请求,服务端收到请求后,向客户端发起状态码为200的响应。
  2. 返回客户端请求目录的文件列表,通过boost中的目录迭代器来得到目录下面的所有文件。
  3. 下载客户端指定的文件,通过http头部信息中的Range进行分段传输。

客户端

  1. 通过获得客户端的IP和掩码,计算出所有的地址获得局域网中的所有主机IP地址。
  2. 向服务端发起配对请求,通过响应状态码200来确定在线。
  3. 用户选择在线主机,向服务端请求文件列表并且打印让客户端选择文件。
  4. 向指定主机发起文件下载请求,服务端响应之后返回一段数据,写入到文件。

About

点对点文件下载器


Languages

Language:C++ 99.8%Language:Makefile 0.2%