异步http框架(c++/boost) ahttpd

GPL
C/C++
Linux
2015-03-31
SIGSEGV

一个用于快速开发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();
}
加载中

评论(0)

暂无评论

暂无资讯

暂无问答

No.0 C++基础---C++经典著作列表

# C++经典著作列表 *C++入门书籍:《C++全方位学习》…… *C++进阶书籍:《C++编程思想》…… *C++高阶书籍:《C++网络编程》……

2015/07/02 21:10
99
1
C C++进阶之路

有C语言基础之后的C进阶之路: 《C专家编程》 《C和指针》 《你必须知道的495个C语言问题》 C++入门: 《Essential C++》 《C++ Primer》 C++进阶: 《Effective C++》和《More effective C+...

10/11 15:53
3
0
C++ STL编程轻松入门 2

1.3.3 STL和GP,GP和OOP   正如前面所提到的,在STL的背后蕴含着泛型化程序设计(GP)的思想,在这种思想里,大部分基本算法被抽象,被泛化,独立于与之对应的数据结构,用于以相同或相近的...

2015/11/21 10:30
232
0
c++ 书籍(zz)

 From:http://blog.csdn.net/is2120/article/details/44317241 下面是转载的在博客上看到的一个C++书籍阅读清单,可以参考下: 阶段 1 《Essential C++》 这是一本内容不多但很实用的C++...

2015/04/09 11:48
27
0
C++学习路线

一)语言入门: 《C++ Primer》 最新版本:第三版(第四版国外已上架,国内一些网上书店也在预订中) 适合有丰富C经验,缺乏C++经验的。不过我个人一直认为此书带着过于强烈的C语言的痕迹,对...

2018/03/27 16:13
49
0
cpp extern "c" keyword

When you state that a function has extern "C" linkage in C++, the C++ compiler does not add argument/parameter type information to the name used for linkage. http://www.math-lin...

2013/01/31 02:33
40
0
C/C+是什么,能用来做什么?

1、从C到C++ 计算机诞生初期,用机器语言或汇编语言编写程序; 第一种高级语言FORTRAN诞生于1954年; BASIC语言(1964)是由FORTRAN语言的简化而成的是为初学者设计的小型高级语言; C语言是1972年...

08/07 21:18
27
0
50个c/c++源代码网站

C/C++是最主要的编程语言。这里列出了50名优秀网站和网页清单,这些网站提供c/c++源代码。这份清单提供了源代码的链接以及它们的小说明。 1、http://snippets.dzone.com/tag/c/ --数以千计的...

2014/04/11 10:23
65
0
C++的坑真的多吗?

先说明一下,我不希望本文变成语言争论贴。希望下面的文章能让我们客观理性地了解C++这个语言。(另,我觉得技术争论不要停留在非黑即白的二元价值观上,这样争论无非就是比谁的嗓门大,比哪...

2012/08/09 10:53
106
0

没有更多内容

加载失败,请刷新页面

返回顶部
顶部