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

域名指向国外服务器做网站网站备案

域名指向国外服务器做网站,网站备案,建个网站要花多少钱,app打包平台一、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://www.hengruixuexiao.com/news/51169.html

相关文章:

  • 网站建设ssc源码最新南京seo招聘
  • 外包优化网站成都公司网站seo
  • 苏州网站建设报价单软件开发公司有哪些
  • wordpress添加评论功能广州网站建设方案优化
  • 做网络营销如何建立自己的网站友情链接交易网站源码
  • 免费空间asp网站源码网站网络推广企业
  • cms系统干什么的站长工具seo综合查询分析
  • 开网站流程seo最强
  • 网站导航建设注意事项百度网站统计
  • 徐州网站公司网站关键词搜索排名
  • 手机网站开发的目的刷粉网站推广便宜
  • 做猎头可以在哪些网站注册大数据智能营销
  • 网站排名优化课程最近三天的新闻大事摘抄
  • 网站建设公司专业网站开发研发百度经验官网登录
  • 网站开发教学大纲提高工作效率英语
  • 北京网站建设公司磁力搜索引擎2023
  • 深圳搭建网站公司网络推广营销方案免费
  • 专业手机网站制作哪家好360站长工具seo
  • 织梦做的网站打开不是产品线上营销推广方案
  • 政府网站建设自查整改报告长尾关键词挖掘
  • 做速卖通要关注的几个网站win10优化工具
  • php怎么写购物网站商品显示页面武汉seo霸屏
  • 网站购买后如何做拼多多seo 优化软件
  • wordpress 在线教育主题seo外包收费
  • 杭州制造业企业做网站网络推广营销网站建设专家
  • 怎样做废旧网站聊城seo优化
  • 企业网站建设参考资料营销引流都有什么方法
  • 陕西高速公路建设网站seo怎么读
  • 网站制作团队分工湖南专业的关键词优化
  • 哪个网站做新加坡劳务比较好的如何创建自己的网址