项目描述: 该项目主要是在Linux环境下使用C++语言开发的轻量级多线程HTTP服务器,服务器支持一定数量的客户端连接并及时响应,支持 客户端访问服务器的图片、视频等资源。
主要工作:
- 使用Socket实现不同主机之间的网络通信
- 使用Epoll技术实现I/O多路复用,提高通信效率
- 使用有限状态机解析HTTP请求报文,对GET和POST请求进行处理
- 访问服务器数据库实现web端用户注册、登录功能,可以请求服务器图片和视频文件
- 实现了Reactor和模拟Proactor两种事件处理模式,实现了ET/LT两种触发模式
- 利用多线程的机制,增加并行服务数量,提高服务器效率
个人收获:
- 对HTTP的服务过程以及TCP三次握手有了更深的了解
- 对于Socket通信以及I/O复用有了一定的了解,对已有的知识进行夯实