## 概述 SSE 通过 `EventSource` 从服务器接收事件流,浏览器内置重连机制并支持 `Last-Event-ID`。适合通知、行情与日志流等单向文本更新。 ## 用法/示例 ```js const es = new EventSource('/events') es.onmessage = e => { const data = JSON.parse(e.data) } es.addEventListener('ping', e => {/* 心跳 */}) es.onerror = () => {/* 浏览器将自动重连 */} ``` 服务端(示意): ```http HTTP/1.1 200 OK Content-Type: text/event-stream Cache-Control: no-cache event: ping data: {} id: 42 data: {"price":123} ``` ## 工程建议 - 控制事件频率与 payload 大小;按需使用 `event:` 区分类型并携带 `id` 以支持断点续传。 - 结合反向代理与超时时间,避免长期连接被中断;必要时心跳保持。 - 不支持场景回退到轮询或 WebSocket。 ## 参考与验证 - MDN:EventSource — https://developer.mozilla.org/docs/Web/API/EventSource - WHATWG:Server-Sent Events — https://html.spec.whatwg.org/multipage/server-sent-events.html

点赞(0) 打赏

评论列表 共有 0 条评论

暂无评论
立即
投稿

微信公众账号

微信扫一扫加关注

发表
评论
返回
顶部