我正在考虑在 linux 平台上开发一个小型(阅读:初级)网络服务器,但我不知道从哪里开始。
我希望它能够做的是:
- 监听特定端口
- 接受 HTTP 发布并获取请求
- 适当回应
- 无需 session 管理
- 必须使用 C 或 C++
- 必须在启动时作为服务运行
我熟悉 HTTP header ,并且是一位经验丰富的 PHP 和 .Net Web 开发人员,但我不知道从哪里开始这项任务。
你能告诉我一些资源来弥补学习曲线吗?
最佳答案
从上到下,您需要了解:
- HTTP 协议(protocol)
- TCP 服务器 - BSD 套接字编程
- 编写一个基本的 Unix 守护进程(持久服务)
- 进程管理( fork )
- 解析文本(读取配置文本文件)
- 文件处理 (I/O)
- 调试 C/C++ 编程:)
因此,您必须学习编写基本的 Unix 应用程序、用于 TCP/IP 网络编程的 BSD 套接字编程以及 HTTP 协议(protocol)。
常用的文字有:
Unix 应用开发:
- Unix 环境中的高级编程,Stevens & Rago
- 高级 Unix 编程
TCP/IP(套接字)编程:
- Unix 网络编程,第 1 卷 Stevens 等
- TCP/IP 图解,史蒂文斯
- 使用 TCP/IP 的 Internet 网络,第 3 卷,即将到来
HTTP 协议(protocol)
关于c++ - 如何在 linux 上用 C/C++ 编写 Web 服务器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2338775/