TreeFrog (C++ Web Framework)开发之源码分析
来源:互联网 发布:淘宝送优酷会员 编辑:程序博客网 时间:2024/06/06 12:53
转载地址:http://blog.csdn.net/foruok/article/details/17498793
为了弄明白 TreeFrog 的逻辑,我分析了它的源码。将程序开始至开发人员自己的工程如何被调用的路线理清楚了。
工程 tfmanager 是整个框架的起点,它生成 treefrog 守护进程,还记得吗,"treefrog -e dev" 这个命令,我们用来启动网站的?
工程 tfserver 是真正的站点入口,负责处理 http 请求,它生成 tadpole 。
tfmanager 会监控 tfserver 的运行,如果 tfserver 莫名崩溃,会重启它。
tfserver 的多任务处理模型有三种:多进程、多线程、混合型。这里我们只分析多线程模型。要使用哪种模型可以通过配置文件指定,在 Windows 下,如果不指定,则默认使用多线程模型。多线程模型为每个 http 连接生成一个线程进行处理。
开发者使用 treefrog 建立的工程,生成的是动态库,会被 tfserver 加载,tfserver 将 URL 处理为 controller 、 action 、 argument 三部分,参考URL Routing 这个文档。tfserver 分析 URL 后,提取 controller 名字,找到开发者的 controller ,用 action 和 arguments 为参数进行调用。而 model 和 view 则是由 controller 进行关联的。就这样,一切发生了。
下面是我分析源码后绘制的函数调用图,供参考:
根据上面的图,理解 treefrog 源码就很容易了。
- TreeFrog (C++ Web Framework)开发之源码分析
- TreeFrog (C++ Web Framework)开发之源码分析
- TreeFrog (C++ Web Framework)开发入门之使用Qt编译
- TreeFrog (C++ Web Framework)开发之http文件服务器
- TreeFrog Framework 开发入门之HelloWorld
- TreeFrog Framework(C++ web framework, based on Qt)开发环境搭建
- TreeFrog Framework开发环境搭建 (C++ web framework, based on Qt)
- Android源码分析之Framework的MediaPlayer
- TreeFrog 之生成器
- treefrog 之控制器
- treefrog 之模型
- treefrog 之测试
- treefrog 之发布
- treefrog之视图 ERB
- C++网站开发MVC框架TreeFrog Framework教程——1.简介
- C++网站开发MVC框架TreeFrog Framework教程——2.简单示例
- C++网站开发MVC框架TreeFrog Framework教程——3.代码解析
- C++网站开发MVC框架TreeFrog Framework教程——4.生成器
- sublineText3 安装package control
- day05 进程映射、malloc实现原理、文件操作
- 阿里云服务器Ubuntu16.04 Java web环境部署
- vue-cli初始项目搭建(vue脚手架工具)
- day06 文件读写位置、文件映射、文件元数据获取
- TreeFrog (C++ Web Framework)开发之源码分析
- java servlet乱码问题决解
- 虚拟主机商如何搭建下一代虚拟主机
- Docker创建镜像
- day07
- HttpUrlConnection与HttpClient的认识(六) -实际应用之刷网络流量
- Spring中使用XML文件的方式配置事务
- 2017年第0届浙江工业大学之江学院程序设计竞赛决赛—M
- jQuery实现随机抽奖