最近要用C++实现哥httpserver,之前探索了很多个http的库。

1. 我之前最习惯用httplib-cpp

       github.comicon-default.png?t=N176https://github.com/yhirose/cpp-httplib        

但是它要求gcc-g++版本要大于4.8。然后我用了6.1.0之后,我的其他库比如mysql glog之后怎么都链接不上。换了系统,换了gcc-g++版本还是不行,可能时版本跨度大吧。结果新编译了glog也不行。懒得折腾了。

2. 后来我用的是workflow,还有它的wfrest。

GitHub - wfrest/wfrest: C++ Web Framework REST API

但是略微麻烦。好像要求的gcc-g++版本也是很高的。没办法,我这边用的还是4.8.1或者4.8.5,放弃了

3. 后来我用的是libcurl

这个是比较经典牛逼的。但是我没找到它写httpserver的例子。

4. 最后我用的是libevent .

libeventicon-default.png?t=N176https://libevent.org/这个还是比较屌的。

然后我主要参考的是:

基于libevent的http服务器实现 - 知乎 (zhihu.com)

Linux使用evhttp实现一个简单的HttpServer_hpuzsk的博客-CSDN博客_evhttp_add_header(req->output_headers,

注意下面,要获取rep->input_buffer 里的内容的时候,不知直接用,的获取一下长度。然后把它拷贝出来。那样,拷贝出来的才是真正的body 或者叫数据载荷。否则那个inputbuffer里有好多的东西。会干扰你的工作。

 

Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐