学习socket网络编程,学习C++类的封装
参考我总结的网络编程实践 试图解决其中提到的一些问题。网络编程最佳实践
2015/03/04
- 完成了基本的框架搭建,使用scons管理项目
- 完成了tcp socket的简单封装
- 实现最简单的串行接入请求,处理请求
- 完成简单的解析HTTP协议
- 根据请求的内容,构造HTPP响应报文
存在的问题:
- 串行接入请求,不能实现并发
- 解析http协议的时候是单字符读取,效率低,应该使用缓存
- 目前只支持GET请求,头部字段没有分析
- 加入fork(完成)
- 支持分析请求头(完成,目前是读取请求头,直接丢弃)
- 支持自定义404返回页面(完成)
- 加入地址重用(完成)
- 处理accept返回结果和处理信号中断(完成)
- 处理socket fd引用次数问题(完成)
- 解析HTTP协议的时候使用缓存
- 解决一些语法层面的问题(完成)
- 增加头部字段,Content-Length和Server(完成)
- 支持MIME(部分)(完成)
- C++ fstream读取文件忽略空格问题改成mmap存储IO映射(完成)