shttpd源码分析(3)几个重要数据结构

摘要: shttpd中为了简化处理将服务器与客户端之间的交互抽象成流(stream),流中包含建立的连接的信息、IO类型、IO操作方法(封装在io_class中)、最后读的字节的位置、头部长度、内容长度、流的当前状态标志等。struct stream再来看看流结构中的几个结构struct conn、union channel、struct io、const struct io_class先看看conn 结... 阅读全文
posted @ 2010-09-14 22:23 雨中漫漫行 阅读(1845) 评论(0) 推荐(0)

shttpd源码分析(2) 接口简要介绍

摘要: 好了,现在看看shttpd提供的接口。为了让我们能定制自己的处理方式,shttpd采取了注册回调函数的方式。回调函数类型是shttpd_callback_t,使用shttpd_arg结构来传递参数,shttpd_arg结构中包含输入(来自于请求的数据)、输出的缓冲数据、自定义数据。比如使用shttpd_get_env从arg中获取REQUEST_URI和QUERY_STRING[代码]query_... 阅读全文
posted @ 2010-09-13 23:22 雨中漫漫行 阅读(2844) 评论(1) 推荐(0)

shttpd源码分析(1) 初识shttpd,大概印象

摘要: 最近开始阅读shttpd的源码,这里记录一下自己的理解,欢迎拍砖。shttpd并不是一个完整的web server,而是提供一些便于实现web server的接口,封装了网络通信等处理细节,并且是跨平台的。我们利用这些接口就可以很容易实现我们想要的web server。 首先来感性认识一下shttpd提供的接口给我们带来的便利性。下面的代码实现了一个简单的web server,是不是很简洁呢。 除... 阅读全文
posted @ 2010-09-12 23:38 雨中漫漫行 阅读(5371) 评论(0) 推荐(0)