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

码农软件 · 软件分类 · 高性能网络开发库 · 2019-09-01 08:58:25

软件介绍

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

本文地址:https://codercto.com/soft/d/13624.html

你不是个玩意儿

你不是个玩意儿

杰伦·拉尼尔 / 葛仲君 / 中信出版社 / 2011-8 / 35.00元

“你不是个玩意儿。” 这句话当然不是骂人,这是一个宣言。人当然不是玩意儿,不是机器,而是人。 在网络化程度越来越高的今天,我们每个人似乎都有足够的理由,无限欣喜地拥抱互联网。然而,你有没有想过互联网那些不完美的设计却是某种潜在的威胁…… 为什么如此多的暴民在社交网站上争吵不休,很多骂人的脏话我们在现实的人际交往中可能从来不会使用,但在匿名网络环境中却漫天飞舞? 互联网的本质......一起来看看 《你不是个玩意儿》 这本书的介绍吧!

URL 编码/解码
URL 编码/解码

URL 编码/解码

SHA 加密
SHA 加密

SHA 加密工具

XML、JSON 在线转换
XML、JSON 在线转换

在线XML、JSON转换工具