ahttpd异步http框架(c++/boost)
一个用于快速开发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找到:
-
修改/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[]) { Server server("8888"); /**< 在8888端口监听 */ server.addHandler("/", new TestHandler(&server)); server.run(); }
评论
G3log异步 C++ 日志框架
G3log是一个开源、支持跨平台的异步C++日志框架,支持自定义日志格式。基于g2log构建,提升了性能,支持自定义格式。G3log主要特性:日志和契约式设计框架异步调用线程安全队列式日志捕获和记录S
G3log异步 C++ 日志框架
0
userverYandex 开源的 C++ 异步框架
userver 是一个开源的异步框架,具有丰富的抽象集,用于快速和舒适地创建 C++ 微服务、服务和
userverYandex 开源的 C++ 异步框架
0
userverYandex 开源的 C++ 异步框架
userver是一个开源的异步框架,具有丰富的抽象集,用于快速和舒适地创建C++微服务、服务和实用工具。该框架为开发者解决了高效I/O交互的问题,线程处理其他请求和任务,并仅在保证立即执行时才返回操作
userverYandex 开源的 C++ 异步框架
0
Cinatra高效易用的 c++ http 框架
cinatra是一个高性能易用的http框架,它是用modernc++(c++17)开发的,它的目标是提供一个快速开发的c++http框架。它的主要特点如下:统一而简单的接口header-only跨平
Cinatra高效易用的 c++ http 框架
0
android-async-http-cachedAndroid 异步 HTTP 库
android-async-http (android-async-http-cached)是基于
android-async-http-cachedAndroid 异步 HTTP 库
0
async-http-php异步 HTTP 客户端
async-http-php是个异步HTTP客户端,机遇crul_mulit*,系统很简单,速度非常快。如果你想使用ssl或者其他来请求一个网站,你可以实现一个task类和TaskInterface接
async-http-php异步 HTTP 客户端
0