logo头像

技术引领生活!

Qt下的Http服务器开发

本文于1448天之前发表,文中内容可能已经过时。

在实际程序的开发中,html 越来越流行,作为跨平台的大户的 Qt 对 web 支持一直没有一个较好的官方模块来进行支持,本文简要介绍下常用的 Web 服务器

JQHttpServer

JQHttpServer是大神 Jason 开发的轻量级 web 服务器,具有以下特点:

  • 接口简单,上手快
  • 默认采用异步架构处理,在需要同步处理时不时很好掌握
  • 无第三方依赖
  • 开发者友好,很 NICE

当把这个问题反馈给大神以后,大神回复如下

1
2
session 保存出去到你的业务处理线程,等处理好数据库数据的时候再调用 reply 或者在处理 session 的回调线程里处理数据库数据,然后调用 reply(我用的这个方法)
注:session 可以跨线程操作,本身已经做了线程安全处理

qhttpserver

qhttpserver也是一个小巧的 Web 服务器,不过这玩意有 BUG,手动修复了之后在实际项目中采用(勉强可用,不推荐), BUG 大抵如下:

  • 获取 Request 的参数时存在 bug(本人已经修复)
  • 当设置请求头中包含请求长度时会出错(依然没有解决)

QtWebApp

QtWebApp,这个是个较为成熟的 Web 服务器,API 路由模块做的很好,有着良好的 demo,重点推荐之,具有以下特点

  • 集成 Windows Unix 服务
  • 集成静态服务器
  • 模板解析
  • 路由分层良好
  • 良好的 Demo

要说缺点吗?个人感觉微有瑕疵的地方就在于过多的使用了 QSettings 来进行参数设置

mongoose

mongoose这个是个纯 C 的 HttpServer 库听说在嵌入式设备上用的比较多,看起来不错的样子官网

支付宝打赏 微信打赏

您的支持是我前行的动力!