Qt编写的项目作品21-网络请求客户端/服务器

一、实现原理

  1. http请求就是tcp通信,所以第一步实例化QTcpServer类监听端口,并绑定newConnection信号槽。
  2. 一旦有新的连接,交给专门的解包类处理,将对应的数据解包,http请求有特定的头部数据等,比如是否需要保活等参数,将其取出来并解析应用。
  3. 收发数据交互其实就是QTcpSocket通信对象的交互,只是收发数据带了对应的头部数据。
  4. 回复网页数据只需要将网页的html数据发给请求对象即可。

二、功能特点

  1. 支持多个客户端连接并发同时处理,100个毫无压力。
  2. 可设置http请求是长连接还是短连接,默认长连接。
  3. 支持多种回复数据格式,其中包括网页内容、json数据等。
  4. 服务端示例中同时包含读取文件回复、读取数据库回复。
  5. 支持8种配色方案(暗黑、灰黑、深绿、浅黄、深蓝、深黑、暗蓝、默认)。
  6. 客户端可指定请求地址,服务端可指定网卡和端口进行监听。
  7. 所有请求和连接都有计数,所有在线请求的IP和端口都显示在表格中。
  8. 可以提供一个简易的网页配置服务,包括交互,作为设备的web配置。
  9. 可自由拓展增加权限校验等,作为一个http请求服务器。
  10. 纯Qt实现,代码框架整洁,注释完整,支持任意Qt版本、任意编译器、任意操作系统。

三、效果图

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

四、体验地址

  1. 体验地址:pan.baidu.com/s/1ZxG-oyUK… 提取码:o05q 名称:bin_httpserver.zip
  2. 国内站点:gitee.com/feiyangqing…
  3. 国际站点:github.com/feiyangqing…
  4. 个人主页:blog.csdn.net/feiyangqing…
  5. 知乎主页:www.zhihu.com/people/feiy…