异步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

重构

重构

[美]马丁•福勒(Martin Fowler) / 熊节 / 人民邮电出版社 / 2015-8 / 69.00

本书清晰揭示了重构的过程,解释了重构的原理和最佳实践方式,并给出了何时以及何地应该开始挖掘代码以求改善。书中给出了70 多个可行的重构,每个重构都介绍了一种经过验证的代码变换手法的动机和技术。本书提出的重构准则将帮助你一次一小步地修改你的代码,从而减少了开发过程中的风险。一起来看看 《重构》 这本书的介绍吧!

HTML 压缩/解压工具
HTML 压缩/解压工具

在线压缩/解压 HTML 代码

随机密码生成器
随机密码生成器

多种字符组合密码

Base64 编码/解码
Base64 编码/解码

Base64 编码/解码