问题:TCP 是字节流 #
(一次 recv 可能只收到半个请求、\r\n 是唯一的边界标志)
状态机设计 #
(PARSE_REQUESTLINE → PARSE_HEADER → PARSE_BODY、主/从状态机分工)
get_line 的实现 #
(逐字节扫描 \r\n、截断返回、m_start_line 推进)
常见边界情况 #
(请求行超长、Content-Length 为 0、POST 体分包到达、keep-alive 复用连接)
容易踩的坑 #
(m_read_idx / m_start_line / m_checked_idx 混淆、NO_REQUEST 时不能关连接)