
mongoose
文章平均质量分 81
wdt3385
这个作者很懒,什么都没留下…
展开
-
Mongoose源码分析
Mongoose是一个简易的web服务器,所谓web服务器,简单的说就是把服务断的数据返回给客户端。的源码很简单,主要就是Mongoose.c文件,里面包含了大部分的处理。Mongoose里面有几个比较重要点的数据结构:1、mg_context详解mg_context结构体——表示Mongoose的上下文,也称为一个实例句柄。它的成员如下:struct mg_con转载 2013-01-29 17:19:47 · 946 阅读 · 0 评论 -
Mongoose源码剖析:数据结构篇
引言Mongoose中有几个数据结构扮演着重要的角色,它们分别是:struct mg_context:保存Mongoose的上下文,几乎每个函数都有mg_context参数 struct mg_connection:保存HTPP连接信息 struct mg_request_info:保存HTTP请求的信息,这个结构体传递给URL处理函数 我之所以现在这里介绍它,因为之后的分析工作中转载 2013-01-29 15:49:11 · 677 阅读 · 0 评论 -
Mongoose函数测试
remove_double_dots_and_double_slashes函数测试: static void test_remove_double_dots() { struct { char before[20], after[20]; } data[] = { {"////a", "/a"}, {"/.....", "/."}, {"/......"转载 2013-01-31 13:50:19 · 1004 阅读 · 0 评论 -
Mongoose源码笔记——work_thread
参考吴秦的博客:http://www.cnblogs.com/skynet/archive/2010/07/24/1784476.htmlMongoose的主线程master_thread在接受一个新的client连接请求时,会将client的socket地址放入一个queue(调用put_socket()方法);而当worker_thread线程处理client的请求时,是通过get_soc原创 2013-01-30 18:02:39 · 1259 阅读 · 0 评论 -
Mongoose 配置文件和编写规则
应老大要求,研究了一下Mongoose服务器,在网上搜了一下资料还真少,以下内容是我通过网上整理的资料:官网地址:http://code.google.com/p/mongoose/Mongoose的老家在Google Codec网站,属于开放源代码小型Web服务器,轻量级、高性能是它的主要优点,其他特色也不少:多平台支持。目前支持Windows、Linux、UNIX和转载 2013-01-30 11:12:18 · 2505 阅读 · 2 评论 -
Mongoose源码笔记——master_thread
参考:http://blog.youkuaiyun.com/larryliuqing/article/details/7544374 和http://www.cnblogs.com/skynet/archive/2010/07/24/1784476.html Mongoose通过调用mg_start()启动一个master_thread线程,用于监听所有的client连接请求。启动一个原创 2013-01-30 16:27:51 · 1161 阅读 · 1 评论 -
Mongoose源码剖析:核心处理模块
引言前面我们介绍了Mongoose所有的几个主要的数据结构mg_context、mg_connection、mg_request_info,还有Mongoose的生命主线。有了这些基础就可以来看看Mongoose的核心处理工作是怎样的。如果你还没有阅读前面的文章,你可以通过下面的隧道直通:Mongoose源码剖析:外篇之web服务器Mongoose源码剖析:Introduction a转载 2013-01-30 15:14:18 · 850 阅读 · 0 评论 -
Mongoose笔记——main
mongoose执行文件的入口肯定在main.c中(如果将Mongoose嵌入到你的应用程序中,就由你来决定入口了!)。在典型的main函数入口中,我们可以看到下面的流程:上面即是main函数中的主流程。需要注意的是调用mg_start()之后返回一个mg_context结构体的实例,这个实例将会在整个连接请求中用到,而且如果你在启动mongoose中设置了参数选项,在下面的proce原创 2013-01-30 16:12:56 · 2489 阅读 · 2 评论 -
将Mongoose webserver嵌入到你的应用
http://zhiwei.li/text/2009/11/%E5%B0%86mongoose-webserver%E5%B5%8C%E5%85%A5%E5%88%B0%E4%BD%A0%E7%9A%84%E5%BA%94%E7%94%A8/下载下面3个文件到某个目录_mongoose.dllhttp://mongoose.googlecode.com/svn/tr转载 2013-01-30 12:52:01 · 1677 阅读 · 0 评论 -
Web服务器 Mongoose 的介绍与安装
本文主要内容如下:1、Mongoose介绍 2、Mongoose的编译和使用 3、Makefile的简单分析 4、如何将Mongoose嵌入到应用程序中 1、Mongoose介绍Mongoose开源项目的主页是http://code.google.com/p/mongoose/。Mongoose是一个web服务器,通过提供一个web接口给它,它可以嵌入到现有的应用程序中去。Mong转载 2013-01-29 14:54:24 · 1293 阅读 · 0 评论 -
Mongoose源码剖析:外篇之web服务器
引言在深入Mongoose源码剖析之前,我们应该清楚web服务器是什么?它提供什么服务?怎样提供服务?使用什么协议?客户端如何唯一标识web服务器的资源?下面我们抛开Mongoose,来介绍一个web服务的这些通性。web服务器:通常是指一个计算机程序(web服务器是什么?),在World Wide Web上提供诸如web页面的服务(提供什么服务?),使用HyperText Transfe转载 2013-01-29 15:42:29 · 671 阅读 · 0 评论 -
Mongoose源码剖析:mongoose的工作模型
引言我看一个项目的时候,比较喜欢首先看它的架构和设计。因为这样在研读源码的时候,有一个指导作用,不会迷失于具体细节,并能够引导我如何去将点串成线,将线串成面。而且一个软件怎么样,很大程度上取决于它采用的架构。本文主要介绍Mongoose的工作模型,及根据这个模型将代码大致串起来,找出主线。内容框架如下:1、线程模型2、从程序入口着手3、Mongoose的生命旅程1、线程模型转载 2013-01-29 15:41:40 · 654 阅读 · 0 评论 -
Mongoose----handle_request函数解析
static void handle_request(struct mg_connection *conn) { struct mg_request_info *ri = &conn->request_info; char path[PATH_MAX]; int uri_len; struct file file = STRUCT_FILE_INITIALIZER;原创 2013-01-31 11:45:15 · 2304 阅读 · 0 评论