项目;资源共享下载器(1) 基础原理

13 篇文章 0 订阅
11 篇文章 0 订阅

1.资源共享下载器
      功能描述:搜索附近(局域网)在线用户,获取到在线用户列表之后,可以查看指定用户的共享
文件列表,进而对感兴趣的文件进行下载。
      服务端功能;
         -1.提供能够被附近客户端发现的功能(对主机配对请求进行一个响应)
         -2.提供客户端请求文件列表的功能
         -3.提供客户端文件下载的功能
      客户端功能;
         -1.搜索附近主机(向局域网内广播主机配对请求)
         -2.获取指定主机的共享文件列表
         -3.下载指定主机的指定文件
     项目使用的技术
     Socket套接字编程(了解最基本线程池版本任务处理的tcp服务端程序)
     HTTP协议格式(了解最基本的http服务器中数据的接收处理响应流程,文件传输) cpp-httplib的基本使用(能够搭建基本的http服务器,并创建客户端发起请求得到响应
接口类封装介绍
2.实现;
     网络通信:
     协议的选择:http协议
     项目的功能实现:http服务端功能/http客户端功能
     使用httplib搭建服务端/客户端


       1.基础知识讲解
            http回顾;
             http协议格式;
             URL:http://username:password@www.baidu.com:端口号/路径?用户数据  片段
               首行;
                      请求首行;请求方法 URL 协议版本\r\n
                                       GET/POST/HEAD/PUT/DELETE
                      响应首行;协议版本  状态码  状态码描述\r\n
                                       1**/2**/3**/4**/5**   200/301(永久重定向)/302(临时)/400/404/500/
                      https(443)就是基于http(80)上进行了一层加密
               头部;
                     以key:val组成的组成的键值对,每个键值对都以\r\n作为结尾
                     content-length/content-type /location/transfer-encoding:trunck/set-cookie/cookie
                     
                     
               空行;
               正文;
              
httplib命名空间;
               namespace httplib{
                std::multimap<std::string,std::string,>headers;
                typedef void(*handler)(const request&req,response &rsp)
               class request{}
               class response{}
               class client{}
               class server{}

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

童无极

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值