为了弄明白 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 源码就很容易了。
接下来有时间的话,会继续我们的 fileserver 示例。再有时间,会提供一个使用 model 和 view 的示例。
分享到:
相关推荐
TreeFrog Framework是基于C ++和Qt的高速,全栈Web应用程序框架,支持HTTP和WebSocket协议。 Web应用程序可以比轻量级编程语言更快地运行。 在应用程序开发中,它提供了基于MVC架构的O / R映射系统和模板系统,旨在...
TreeFrog Framework是基于C ++和Qt的高速,全栈Web应用程序框架,支持HTTP和WebSocket协议。 Web应用程序的运行速度比轻量级编程语言的运行速度更快。 在应用程序开发中,它提供了基于MVC架构的O / R映射系统和模板...
TreeFrog Framework - 高速和完整的web应用程序框架基于C 和Qt实现。支持HTTP和WebSocket协议(包含O/R映射)。
Treefrog
是一个高速的全堆栈的 Web 应用开发框架,基于 C++ 和 Qt
介绍欢迎使用Treefrog手册! 本手册旨在替代大多数公司提供的经典(法律要求)的“员工手册”。 但是,按照Treefrog的方式,这本手册旨在解决一个必要的问题:使每个人在同一页面上朝同一方向划船,而没有Damoclean...
基于Qt库和TreeFrog MVC框架的web应用,支持Windows、Mac OS X、Linux平台 用法说明 1、安装Qt5,说明文档 2、安装TreeFrog,说明文档 3、安装数据库服务器,建议使用MySQL 4、下载CMS代码 5、配置数据库 运行CMS....
爱尔兰机场API 该应用程序将允许用户检索爱尔兰各个机场的出发和到达数据。 通过与适用于C ++的AWS开发工具包集成并使用TreeFrog Framework,从实例化服务器和数据库实例到运行API,仅使用C ++就可以设置此项目。