ahttpd 注意: 介绍
一个用于快速开发http服务端的异步框架,该框架基于C++/asio实现,支持http(http1.1目前考虑了keep-alive,
chunked等特性,若有欠缺欢迎补充)和https,该框架适用于与app或客户端通讯的服务端,不适用于做前端(若由此需求建议考虑cppcms与wt等项目)
依赖
-
boost.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找到:
示例代码:
#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[]) { Server server("8888"); /**< 在8888端口监听 */ server.addHandler("/", new TestHandler(&server)); server.run(); }
ahttpd 注意: 官网
https://github.com/lucklove/ahttpd
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。