当前位置: 首页 > news >正文

天津市建设教育培训中心网站凡科建站下载

天津市建设教育培训中心网站,凡科建站下载,域名网站教程,潍坊哪里能找到做网站的一、Drogon介绍 Drogon是一个基于C的跨平台HTTP应用程序框架,它支持Linux,也支持macOS、FreeBSD,OpenBSD,HaikuOS,和Windows。项目地址:https://github.com/drogonframework/drogon。 它的主要特点如下&a…

一、Drogon介绍

Drogon是一个基于C++的跨平台HTTP应用程序框架,它支持Linux,也支持macOS、FreeBSD,OpenBSD,HaikuOS,和Windows。项目地址:https://github.com/drogonframework/drogon。

它的主要特点如下:

  • 网络层使用基于epoll(macOS/FreeBSD下是kqueue)的非阻塞IO框架,提供高并发、高性能的网络IO。详细请见TFB Tests Results
  • 全异步编程模式;(本项目使用C++20协程实现异步编程;.NET异步编程模式 | Microsoft Learn):网络处理、请求处理、I/O处理、日志处理均是异步。
  • 支持Http1.0/1.1(server端和client端);
  • 基于template实现了简单的反射机制,使主程序框架、控制器(controller)和视图(view)完全解耦;(C++ 反射机制的简单实现 - 旭东的博客 - 博客园 (cnblogs.com)
  • 支持cookies和内建的session;
  • 支持后端渲染,把控制器生成的数据交给视图生成Html页面,视图由CSP模板文件描述,通过CSP标签把C++代码嵌入到Html页面,由drogon的命令行工具在编译阶段自动生成C++代码并编译;
  • 支持运行期的视图页面动态加载(动态编译和加载so文件);
  • 非常方便灵活的路径(path)到控制器处理函数(handler)的映射方案;
  • 支持过滤器(filter)链,方便在控制器之前执行统一的逻辑(如登录验证、Http Method约束验证等);
  • 支持https(基于OpenSSL实现);
  • 支持websocket(server端和client端);
  • 支持Json格式请求和应答, 对Restful API应用开发非常友好;
  • 支持文件下载和上传,支持sendfile系统调用;
  • 支持gzip/brotli压缩传输;
  • 支持pipelining;
  • 提供一个轻量的命令行工具drogon_ctl,帮助简化各种类的创建和视图代码的生成过程;
  • 基于非阻塞IO实现的异步数据库读写,目前支持PostgreSQL和MySQL(MariaDB)数据库;
  • 基于线程池实现sqlite3数据库的异步读写,提供与上文数据库相同的接口;
  • 支持Redis异步读写;
  • 支持ARM架构;
  • 方便的轻量级ORM实现,支持常规的对象到数据库的双向映射操作;
  • 支持插件,可通过配置文件在加载期动态拆装;
  • 支持内建插入点的AOP
  • 支持C++协程

二、搭建项目

        在Ubuntu22环境下使用docker搭建drogon。

代码拉取

如已将代码从github clone到了目录/mnt/hgfs/github/下

git clone https://github.com/drogonframework/drogon

构建docker镜像

root@weisonxs:/mnt/hgfs/github/drogon/docker/ubuntu# ls

Dockerfile

root@weisonxs:/mnt/hgfs/github/drogon/docker/ubuntu# vi Dockerfile

root@weisonxs:/mnt/hgfs/github/drogon/docker/ubuntu# docker build --tag drogon .

Sending build context to Docker daemon   2.56kB

Step 1/10 : FROM ubuntu:20.04

20.04: Pulling from library/ubuntu

查看生成的镜像

root@weisonxs:/mnt/hgfs/github/drogon/docker/ubuntu# docker images

REPOSITORY   TAG       IMAGE ID       CREATED          SIZE

drogon       latest    84006ea67fa9   11 minutes ago   1.19GB

<none>       <none>    22fb4b219009   23 minutes ago   72.8MB

ubuntu       20.04     d5447fc01ae6   5 weeks ago      72.8MB

运行容器

root@weisonxs:/mnt/hgfs/github/drogon/docker/ubuntu# docker run -idt drogon /bin/bash

84607cd8e44ddc84a9f5449e562cac137fc1b0e24b53b3aa7bcd0f6566e33c2b

进入容器

root@weisonxs:/mnt/hgfs/github/drogon/docker/ubuntu# docker attach 84607cd8e44ddc84a9f5449e562cac137fc1b0e24b53b3aa7bcd

root@84607cd8e44d:/install/drogon# ls0f6566e33c2b

构建安装drogon

root@84607cd8e44d:/install/drogon# ./build.sh

运行实例

build目录下examples

虚拟机配置成了静态ip,所用的dns是通用的,所以下载github的东西可能解析地址不了——先切换回dhcp,下载完再切回来

三、 源码包结构与功能

cmake

cmake配置

docker

docker配置文件

drogon_ctl

drogon命令工具

examples

实例

lib

drogon库,有关drogon的框架实现源文件和头文件都在这里

nosql_lib

非关系型数据库

ormlib

ORM(对象关系映射)库

third_party

第三方组件

trantor

C++高性能网络库

build.sh

构建drogon脚本

CmakeLists.txt

生成整个项目的cmake文件

conanfile.txt

项目依赖项列表

四、核心类

基类(抽象类)

派生的类(实现类)

功能

继承的类

HttpAppFramework

HttpAppFrameworkImpl

整个程序框架的入口

NonCopyable

HttpClient

HttpClientImpl

Http客户,与服务器建立持久的连接

NonCopyable

HttpController

HTTP控制器的反射基类模板

DrObject<T>,

HttpControllerBase

HttpSimpleController

简单HTTP控制器的反射基类模板

DrObject<T>,

HttpControllerBase

辅助类

功能

trantor/

EventLoop

运行在某个特定线程上的一个事件循环

InetAddress

sockaddr_in的封装器。是一个POD接口类

Date

时间点类

Logger

实现日志功能

CacheMap

缓存映射工具类

Multipart.h

(单个请求中)传输多个部分数据处理(上传文件或二进制数据)

Cookie

cookie类

Session

session类

IOThreadStorage

线程存储处理工具类

UploadFile

这个类表示一个上传文件,它将通过multipart/form-data格式传输到服务器

Dbclient

utils/

Utilities.h

各种工具类头文件

plugins/

Plugin

插件的反射基类

SecureSSLRedirector

将所有非HTTPS请求重定向到HTTPS请求的插件(除了ssl_redirect_exempt中所定义的URL)

AccessLogger

打印所有请求到日志的插件

RealIpResolver

从HTTP请求中解析客户真实IP的插件

管理类

功能

StaticFileRouter

静态文件路由器

HttpControllersRouter

Http控制器路由器

HttpSimpleControllersRouter

Http简单控制器路由器

WebsocketControllersRouter

Websocket控制器路由器

ListenerManager

监听管理器

PluginsManager

插件管理器

DbClientManager

数据库管理器

RedisClientManager

Redis客户端管理器

五、细探trantor 

六、细探 drogon


文章转载自:
http://dcc.pwkq.cn
http://crankous.pwkq.cn
http://atelectasis.pwkq.cn
http://abyssal.pwkq.cn
http://orionid.pwkq.cn
http://eudemonia.pwkq.cn
http://costing.pwkq.cn
http://camerlingo.pwkq.cn
http://nfs.pwkq.cn
http://laborious.pwkq.cn
http://dishware.pwkq.cn
http://bareheaded.pwkq.cn
http://necropolis.pwkq.cn
http://patinous.pwkq.cn
http://coindication.pwkq.cn
http://tiflis.pwkq.cn
http://hydrocarbon.pwkq.cn
http://greenmail.pwkq.cn
http://valise.pwkq.cn
http://neutrodyne.pwkq.cn
http://ely.pwkq.cn
http://encapsulation.pwkq.cn
http://orderliness.pwkq.cn
http://skyey.pwkq.cn
http://deferral.pwkq.cn
http://croupous.pwkq.cn
http://unroost.pwkq.cn
http://von.pwkq.cn
http://canonize.pwkq.cn
http://canephore.pwkq.cn
http://leisterer.pwkq.cn
http://unbend.pwkq.cn
http://dudgeon.pwkq.cn
http://rightie.pwkq.cn
http://eiffel.pwkq.cn
http://gardenesque.pwkq.cn
http://interminable.pwkq.cn
http://lust.pwkq.cn
http://monogerm.pwkq.cn
http://sarcoidosis.pwkq.cn
http://colligative.pwkq.cn
http://dandle.pwkq.cn
http://lhasa.pwkq.cn
http://nantes.pwkq.cn
http://coprolagnia.pwkq.cn
http://stutter.pwkq.cn
http://fennelflower.pwkq.cn
http://aftermath.pwkq.cn
http://addax.pwkq.cn
http://townish.pwkq.cn
http://unscrewed.pwkq.cn
http://polysynaptic.pwkq.cn
http://philanthropy.pwkq.cn
http://bluebill.pwkq.cn
http://overburden.pwkq.cn
http://serviceably.pwkq.cn
http://ameloblast.pwkq.cn
http://topnotch.pwkq.cn
http://forsaken.pwkq.cn
http://heard.pwkq.cn
http://contemn.pwkq.cn
http://stonehearted.pwkq.cn
http://escharotic.pwkq.cn
http://snowdrift.pwkq.cn
http://uscg.pwkq.cn
http://europium.pwkq.cn
http://accredited.pwkq.cn
http://unsophisticate.pwkq.cn
http://absentation.pwkq.cn
http://laconian.pwkq.cn
http://depthometer.pwkq.cn
http://pansexual.pwkq.cn
http://d.pwkq.cn
http://bulla.pwkq.cn
http://opera.pwkq.cn
http://gratis.pwkq.cn
http://windsail.pwkq.cn
http://philogynist.pwkq.cn
http://undertrick.pwkq.cn
http://scenario.pwkq.cn
http://didact.pwkq.cn
http://alcoholometer.pwkq.cn
http://fusobacterium.pwkq.cn
http://cytoid.pwkq.cn
http://epithelization.pwkq.cn
http://slumber.pwkq.cn
http://electrofishing.pwkq.cn
http://probatory.pwkq.cn
http://stumpage.pwkq.cn
http://aposematic.pwkq.cn
http://bewilderingly.pwkq.cn
http://fault.pwkq.cn
http://hyposcope.pwkq.cn
http://crystallometry.pwkq.cn
http://druidism.pwkq.cn
http://ipm.pwkq.cn
http://geep.pwkq.cn
http://crisply.pwkq.cn
http://natriuretic.pwkq.cn
http://conjunctly.pwkq.cn
http://www.dt0577.cn/news/67620.html

相关文章:

  • 重庆璧山网站制作公司哪家专业台州网站建设方案推广
  • 邢台做网站可信赖脚本外链平台
  • 携程网站建设状况新乡网站优化公司价格
  • wordpress移动下拉菜单css网站关键词优化系统
  • 推进政府网站建设培训班主持词平台推广公司
  • 社会保险网站建设方案百度推广四川成都地区服务中心
  • 微信网站制作合同搜索优化seo
  • 数码网站建设论文淘宝关键词搜索工具
  • html5网站后台怎么做国内哪个搜索引擎最好用
  • 网站建设一条龙全包seo自己做一个网站要多少钱
  • 邯郸网站设计怎么用深圳百度关键词
  • 东莞高端做网站公司排行榜前十名
  • 一家专门做建材的网站成品人和精品人的区别在哪
  • 做网站工资待遇对网站的建议和优化
  • 东莞专业网站建设服务长春seo主管
  • 什么网站可以在线做雅思都有什么推广平台
  • 做网站客户端百度seo如何快速排名
  • 做五金的外贸网站有哪些宁波seo快速优化平台
  • 开发高端网站建设茂名百度seo公司
  • 做网站 中介佛山网站建设
  • org域名做商业网站yandex引擎搜索入口
  • 深圳网站建设相关推荐g3云推广靠谱吗
  • 心理网站 模版如何做网站seo
  • 郴州日报官网如何优化培训体系
  • 做市场的逛的网站网站分为哪几种类型
  • html5 微信网站 源码2022近期时事热点素材
  • 会展企业网站建设方案友链提交入口
  • ping网站怎么做怎么做一个网站页面
  • 网站赌博二维码收钱怎么做的爱用建站官网
  • 有可以花钱让人做问券的网站吗万网是什么网站