点对点文件下载器
开发环境:基于C/C++语言在Centos7.2系统的开发,使用工具vim,gcc/g++,gdb,make,git。
项目介绍:实现在局域网中文件的点对点的下载。服务端同意客户端请求,返回文件列表和数据读取并发送,客户端进行请求配对,选择文件下载。
项目功能模块: 服务端:
- 接受客户端的配对请求,服务端收到请求后,向客户端发起状态码为200的响应。
- 返回客户端请求目录的文件列表,通过boost中的目录迭代器来得到目录下面的所有文件。
- 下载客户端指定的文件,通过http头部信息中的Range进行分段传输。
客户端
- 通过获得客户端的IP和掩码,计算出所有的地址获得局域网中的所有主机IP地址。
- 向服务端发起配对请求,通过响应状态码200来确定在线。
- 用户选择在线主机,向服务端请求文件列表并且打印让客户端选择文件。
- 向指定主机发起文件下载请求,服务端响应之后返回一段数据,写入到文件。