c/c++项目
文章平均质量分 74
蝶舞莺歌
写博客吧,总要跟别人写的有点不一样!!!
展开
-
Tinyhttpd源码学习(simpleclient.c)<一>
这是我学习c/c++的第二个项目,做为一个菜鸟,只会最基本的语法,很多都要标记出来。原创 2017-03-28 11:07:15 · 462 阅读 · 0 评论 -
Tinyhttpd源码学习(httpd.c)<二>
因为代码有500行,相对较长,这里不再按照源代码的顺序,而是按照调用关系,先main,后一个个方法展开int main(void){ int server_sock = -1;//----------该httpd的服务socket的fd ,声明 u_short port = 4000;//---------- 默认端口 4000 int client_原创 2017-03-28 11:47:27 · 284 阅读 · 0 评论 -
Tinyhttpd源码学习(httpd.c)<三>
继续上一篇,写startup方法,服务端socket的启动过程int startup(u_short *port){ int httpd = 0;//-------------- server_sock的fd声明 int on = 1; struct sockaddr_in name;//------------- 服务器地址的数据结构IP原创 2017-03-28 11:50:00 · 317 阅读 · 0 评论 -
Tinyhttpd源码学习(httpd.c)<四>
写完startup,下一个就是accept_request,这里是处理请求的主要逻辑void accept_request(void *arg){ int client = (intptr_t)arg;//---------------------- client_sock的fd char buf[1024];//-------------------原创 2017-03-28 12:02:02 · 292 阅读 · 0 评论 -
Tinyhttpd源码学习(httpd.c)<五>
接着上面,当path的本地文件没有可执行权限时,认为不是cgi程序,调用serve_file进行处理void serve_file(int client, const char *filename){ FILE *resource = NULL;//--------------- 声明FILE int numchars = 1; char buf原创 2017-03-28 14:50:32 · 294 阅读 · 0 评论 -
Tinyhttpd源码学习(httpd.c)<六>
当httpd运行时,对文件具有可执行权限时,则认为该文件是cgi程序,调用函数 execute_cgi/**********************************************************************//* Execute a CGI script. Will need to set environment variables as原创 2017-03-28 15:53:56 · 320 阅读 · 0 评论