| 注册
请输入搜索内容

热门搜索

Java Linux MySQL PHP JavaScript Hibernate jQuery Nginx
yne7
9年前发布

异步httpd框架C++实现:shttpd_cpp

一个用于快速开发http服务端的异步框架,该框架基于C++/asio实现,支持http(http1.1目前考虑了keep-alive, chunked等特性,若有欠缺欢迎补充)和https,该框架适用于与app或客户端通讯的服务端,不适用于做前端(若由此需求建议考虑cppcms与 wt等项目)

依赖

  • asio

  • C++1y

  • openssl(https需要)

编译-安装

  • cd shttpd

  • mkdir build

  • cd build

  • cmake ..

  • make

  • sudo make install

编译示例

  • cd shttpd

  • cd example

  • cd 某个示例的目录

  • make

注意:

若在运行时出现如下错误:
error while loading shared libraries: libshttpd.so: cannot open shared object file: No such file or directory
请确保libshttpd.so所在目录在ld的搜索路径中,对于linux系统, libshttpd.so所在的目录一般为/usr/local/lib
若发现改目录不在ld的搜索路径中,以下步骤可让libshttpd.so被ld找到:

  • 修改/etc/ld.so.conf, 加入一行/usr/local/lib

  • 执行sudo ldconfig更新配置

示例代码:

#include "server.hh"  struct TestHandler : public RequestHandler {      using RequestHandler::RequestHandler;      void handleRequest(RequestPtr req, ResponsePtr rep) override {          rep->out() << "hello world!" << std::endl;      }  };     int  main(int argc, char *argv[])  {      asio::io_service io_service;      Server server(io_service, "8888");      server.addHandler("/", new TestHandler(&server));      server.run();  }

项目主页:http://www.open-open.com/lib/view/home/1427761774803

 本文由用户 yne7 自行上传分享,仅供网友学习交流。所有权归原作者,若您的权利被侵害,请联系管理员。
 转载本站原创文章,请注明出处,并保留原始链接、图片水印。
 本站是一个以用户分享为主的开源技术平台,欢迎各类分享!
 本文地址:https://www.open-open.com/lib/view/open1427761774803.html
C/C++开发 shttpd_cpp