Skip to content

Latest commit

 

History

History
executable file
·
23 lines (17 loc) · 1.82 KB

README.md

File metadata and controls

executable file
·
23 lines (17 loc) · 1.82 KB

ZYhttpd -- 简单web服务器

该项目就是一个自我学习的项目,一直在学编程,却一直没有做出过什么像样的东西,所以准备开始这个项目,没打算做的多么完善、多么快速吧,只想按照我自己对web服务器运行原理的理解来一步一步实现它,在这个过程中也巩固一下自己所学的知识。

效果图

效果图

版本

V1.0.1:

这个版本是在windows下实现的,当时就是晚上没事干,就随便捣鼓捣鼓,功能仅仅实现了通过浏览器访问:127.0.0.1:81,然后会显示一个Hello ZYhttpd!字样的页面。

V1.0.2:

功能上比1.0.1改进的就是,返回给用户的页面是从文件中读取的,而1.0.1是写在代码中的。 下一个版本将会转移到linux下开发,因为要添加线程的使用了,而我对windows下的多线程使用不太熟悉。

V1.0.3:

该版本初次在linux上测试通过,环境是CentOs 6.2,其中遇到了一些问题,记得要关闭防火墙,还不知道怎么通过代码来让自己的程序可以通过防火墙呢,需要学习。 其次,在代码中实现了多线程,具体方法就是收到一个连接就开启一个线程,发送完客户端请求的数据就退出,计划下一个版本中加入线程池的使用,顺便自己也学习一下如何实现自己的线程池。

V1.0.4:

该版本增加了一个-D的启动参数来让zyhttpd以守护进程的方式运行,使用Linux提供的函数daemon来实现。

V1.0.5:

该版本实现了网页中显示图片的功能,之前一直没有处理好网页中图片的显示,原因是send的时候,调用了strlen来统计sendBuffer中的长度,对于图片是不可行的,改为发送从文件中读取出来的数据长度即可。