- 授权协议: GPL
- 开发语言: C/C++
- 操作系统: Linux
- 软件首页: https://github.com/lucklove/ahttpd
- 软件文档: https://github.com/lucklove/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找到:
-
修改/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();
}
C++数据结构与算法
[美]乔兹德克(Adam Drozdek) / 徐丹、吴伟敏 / 清华大学出版社 / 2014-10-1 / 63.00元
本书全面系统地介绍了数据结构,并以C++语言实现相关的算法。书中主要强调了数据结构和算法之间的联系,使用面向对象的方法介绍数据结构,其内容包括算法的复杂度分析、链表、栈、队列、递归、二叉树、图、排序和散列。书中还清晰地阐述了同类教材中较少提到的内存管理、数据压缩和字符串匹配等主题。书中包含大量的示例分析和图形,便于读者进一步理解和巩固所学的知识。一起来看看 《C++数据结构与算法》 这本书的介绍吧!
