Last edit: 2018-06-03
版本 | 引 | 特性 | 压测 | 框架 | Future | 环境 |
---|
整体流程说明:传送门
- V 0.1 线程池+监听+非阻塞 ,迁移到Linux(Mac下不支持epoll)
- V 0.2 Timer(惰性删除的优先级队列)
- V 0.3 完成基本框架,有限状态机解析报头 //TODO
通过本项目,对计算机网络相关知识进行系统总结与实现
同时为下一个应用性项目做铺垫
- 线程池
- 以CPU核心数决定线程数,减少切换开销
- 非阻塞IO
- 事件驱动模型epoll(Linux)
- 事件驱动模型kqueue(BSD)//TODO
- 定时器
- 小堆结构,维护成本 O(log n)
- 惰性删除,减少 malloc 开销
- 有限状态机
- 高效解析HTTP
TODO
TODO
- 跨平台(BSD)
- 用C++重写(可维护性)
- 服务器缓存(性能优化)
- 日志系统
- 应用
- 结合高并发流媒体服务器的IOS防录屏视频播放器(swift)
- 跨站书批
- 硬件
- i5-7360U
- LPDDR3 8G
- OS
- macOS 13.4
- centos 7.5(虚拟机)单核/ 2G