C++实现HTTP服务器项目记录汇总

一、项目简介

- 项目使用线程池 + 阻塞/非阻塞SOCKET+ EPOLL(ET和LT均实现)+ 事件处理模式(Reactor与同步I/O模拟的Proactor均实现)。
- 访问服务器数据库实现WEB端用户注册、登录功能,可以请求服务器图片和视频资源。

二、项目模块

一、日志系统
(1)懒汉式单例模式创建日志系统。
(2)实现按天分类,超行分文件功能。
(3)日志分四级

  • Debug:调试代码时使用。
  • Warn:调试代码时使用。
  • Info:报告系统当前的状态。
  • Error:输出系统的错误信息。

(5)实现同步/异步写入方式。

  • 同步写入方式:利用互斥锁实现工作线程互斥地访问日志文件,并写入日志内容。
  • 异步写入方式:将其抽象为生产者-消费者模型,将工作线程产生的日志内容存入缓冲区,写日志线程从缓冲区中取出内容,写入日志。缓冲区是循环数组实现的队列,利用互斥锁实现线程互斥地访问缓冲区,利用条件变量实现“生产”与“消费”之间的同步。同时利用互斥锁实现写线程互斥地访问日志文件,并写入日志内容。

二、数据库连接池
(1)懒汉式单例模式创建数据库连接池。
(2)链表实现数据库连接池。
(3)数据库连接的获取与释放通过RAII机制封装,避免手动释放。

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值