文件名称:TinyWebServer:使用C ++实现WebServer
文件大小:35KB
文件格式:ZIP
更新时间:2024-04-08 05:32:18
C++
TinyWebServer 简介 C ++实现的轻量级网服务器,采用React器模式加非阻塞IO实现,主线程负责监听新连接以及信号的处理,工作线程负责建立新连接以及处理客户请求。整体每个线程遵循一个环的设计,等待在一个事件循环上,工作线程由一个线程池进行管理。通过小根堆维护一个计时器,关闭不活跃的连接。 类的设计 EventLoopThreadPool管理工作线程,主要线程提供接口实现主线程与工作线程之间的通信 EventLoopThread工作线程,开启事件循环,等待事件发生后调用user提供的某些函数 user为工作线程提供接口实现事件的处理,封装HttpConn HttpConn实现针对客户请求的处理,包括重新并解析请求报文,生成相应报文以及向客户发送报文 环境 Linux内核5.4.0-66 Ubuntu的04.04 g ++ 7.5.0 使4.1 使用方法 下载源码: g
【文件预览】:
TinyWebServer-main
----README.md(1KB)
----src()
--------main.cpp(2KB)
--------EventLoopThreadPool.o(41KB)
--------user.cpp(3KB)
--------EventLoopThread.o(3KB)
--------HttpConn.cpp(11KB)
--------EventLoopThreadPool.h(433B)
--------EventLoopThreadPool.cpp(1KB)
--------user.h(1KB)
--------makefile(382B)
--------EventLoopThread.cpp(3KB)
--------User.o(74KB)
--------HttpConn.o(3KB)
--------web_function.h(2KB)
--------HttpConn.h(3KB)
--------EventLoopThread.h(828B)