Node.js 中流式响应实现 Server-Sent Events 时连接意外关闭的排查与解决
做后台任务进度推送时,很多项目会用 Server-Sent Events 替代 WebSocket,因为协议简单、浏览器原生支持、实现成本低。但在 Node.js 里用 res.write() 持续推送事件流时,经常遇到一个很隐蔽的问题:客户端过一会儿就收不到消息了,连接看起来还在,实际服务端写入已经失败,或者客户端反复重连。常见原因包括代理层超时、响应头缺少 Connection: keep-alive 或 Cache-Control: no-cache、Node 默认的 server.requestTi...