项目五:Tinyhttpd_with_threadpool_epoll

本文介绍了作者为Tinyhttpd扩展的功能,包括引入epoll事件驱动、线程池管理和CGI动态请求解析。通过这些改进,服务器在高并发情况下能更好地处理http请求。同时,文章总结了项目中遇到的问题,如连接稳定性、子进程创建的开销,并分享了项目带来的收获,如理解C/S模式、epoll和线程池的应用。
摘要由CSDN通过智能技术生成

一、项目背景/介绍

介绍要点

what:你做了什么工作?
why:这个工作的目的是什么?
when:这个工作发生在什么时候?
who:由谁参与了这个工作?
where:在哪里开展的工作?你在什么情境下做的工作?
How:你如何做这个工作?结果怎么样?

为了加深对服务器后端开发以及http协议的理解(why),在2020年4月到2020年6月两个月时间(when),我自己在学习了Tinyhttpd源码后在linux环境下扩展了Tinyhttpd(how)增加了基于epoll事件驱动的I/O,采用高效的线程池代替之前一个请求创建一个线程的方法进行客户端连接任务管理,父进程创建子进程使用动态请求解析技术Cgi来支持Get与Post请求。压力测试结果表明,可以支持高并发http请求。

主要模块:处理连接请求模块;接收客户端连接模块;线程池模块;SocketAPI 模块。

二、主要技术

  • epoll I/O复用技术/阻塞/非阻塞
  • 动态请求解析技术Cgi
  • Reactor模式
  • 线程池
  • Socket网络编程相关知识
  • http报文格式
  • http请求命令get/post
  • 进程通信

三、项目遇到问题总结

- 是否有做得不足的

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值