项目简介
Drogon是一个基于C++14/17的HTTP应用框架,其目标是助力开发者轻松构建高性能的Web应用服务器。该框架支持跨平台运行,涵盖Linux、macOS、FreeBSD、OpenBSD、HaikuOS和Windows等系统,具备丰富功能,适用于各类Web应用的构建。
项目的主要特性和功能
- 高性能网络IO:采用基于epoll(macOS/FreeBSD下为kqueue)的非阻塞I/O框架,可实现高并发和高性能的网络IO。
- 全异步编程模式:所有处理函数均为异步模式,能高效处理大量并发请求。
- HTTP/HTTPS支持:支持HTTP1.0/1.1和基于OpenSSL的HTTPS。
- WebSocket支持:具备WebSocket服务器端和客户端功能。
- 数据库访问:可异步读写PostgreSQL、MySQL(MariaDB)、SQLite3和Redis。
- 轻量级ORM:提供便捷的ORM实现,支持对象与数据库的双向映射。
- 视图渲染:支持后端渲染,利用CSP模板生成HTML页面,支持动态加载视图。
- 路由与过滤器:提供灵活的路由方案和过滤器链,便于实现统一逻辑处理,如登录验证。
- JSON支持:支持JSON格式的请求和响应,适合开发RESTful API。
- 命令行工具:提供
drogon_ctl
命令行工具,简化控制器和视图代码的生成。 - 插件与AOP支持:支持插件机制和面向切面编程,方便扩展功能。
- 跨平台支持:支持多种操作系统,包括Linux、macOS、Windows等。
安装使用步骤
前提条件
假设用户已经下载了本项目的源码文件。
具体步骤
- 安装依赖:确保系统中已安装CMake、OpenSSL和其他必要的依赖库。
- 编译项目:
bash mkdir build cd build cmake .. make
- 运行示例:编译完成后,运行示例程序:
bash ./drogon_example
- 创建新项目:使用
drogon_ctl
创建新的控制器和视图:bash drogon_ctl create controller MyController drogon_ctl create view MyView
- 配置与运行:通过配置文件或代码配置路由、过滤器等,然后运行应用程序。
示例代码
以下是一个简单的Drogon应用示例: ```c++
include
using namespace drogon; int main() { app().setLogPath("./") .setLogLevel(trantor::Logger::kWarn) .addListener("0.0.0.0", 80) .setThreadNum(16) .run(); } ``` 此示例启动了一个监听80端口的HTTP服务器,日志输出到当前目录,并使用16个线程处理请求。
下载地址
点击下载 【提取码: 4003】【解压密码: www.makuang.net】