WebServer 1.0 简单实现了一个基础的 多并发网络服务程序 。在该版本中,主要实现了以下重要内容:
-
线程互斥锁 & 条件变量的封装
-
线程池的设计,以支持并发
-
基础网络连接的实现
-
http 协议的简略支持
- 支持部分常用 HTTP 报文
- 200 OK
- 400 Bad Request
- 500 Internal Server Error
- 501 Not Implemented
- 505 HTTP Version Not Supported
- 支持 HTTP GET 请求
- 支持 HTTP/1.1 持续连接 特性
- 支持部分常用 HTTP 报文
运行示例:
注意:该程序的实现大量参考了 linyacool/WebServer - github 的代码。
-
使用以下指令编译:
make
-
使用以下指令运行
./WebServer <port>
注意一些特殊端口的绑定需要使用 root 权限,例如 80 端口。
-
使用 GDB 进行调试。
请点击 此处 WebServer-1 跳转至更加详细的技术文档。