查看完整版本: [-- Qt编写的项目作品21-网络请求客户端/服务器 --]

QTCN开发网 -> Qt 作品展 -> Qt编写的项目作品21-网络请求客户端/服务器 [打印本页] 登录 -> 注册 -> 回复主题 -> 发表主题

liudianwu 2020-03-07 13:44

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版本、任意编译器、任意操作系统。

## 三、效果图
[attachment=21385][attachment=21384][attachment=21383][attachment=21386][attachment=21387]

## 四、体验地址
1. 体验地址:[https://pan.baidu.com/s/1uQsDQO5E5crUBN2J-nPeLQ](https://pan.baidu.com/s/1uQsDQO5E5crUBN2J-nPeLQ) 提取码:1jkp 名称:bin_httpserver.zip
2. 国内站点:[https://gitee.com/feiyangqingyun](https://gitee.com/feiyangqingyun)
3. 国际站点:[https://github.com/feiyangqingyun](https://github.com/feiyangqingyun)
4. 个人主页:[https://blog.csdn.net/feiyangqingyun](https://blog.csdn.net/feiyangqingyun)
5. 知乎主页:[https://www.zhihu.com/people/feiyangqingyun/](https://www.zhihu.com/people/feiyangqingyun/)

**备注:如果网盘下载不到可以去开源主页下载**

阳光很温暖 2020-03-09 16:39
不是开源的吗

24131583 2020-04-25 11:25
做得挺好

goldenlian 2020-04-25 14:06
超棒,真是我要的


查看完整版本: [-- Qt编写的项目作品21-网络请求客户端/服务器 --] [-- top --]



Powered by phpwind v8.7 Code ©2003-2011 phpwind
Gzip disabled