页面和服务端建立 Server-Sent Events 连接,基本上活不过 60 秒,就被浏览器或者网络自动断开了。
服务器端设置了 12 小时的 keep-live ,前端每隔 20 秒发个心跳包,有时候管用,要是碰到国产浏览器、或者移动网络有时候还是活不下来。
以下两个方案,哪个开销更小一些?
碰到页面 SSE 连接总是被自动断开,还有什么好的方式处理吗?
![]() |
1
shadowyue 39 天前 ![]() 轮询兜底。SSE 连不上才是正常的。断了就重连。
|
2
parkhaocer 16 天前
1. 用成熟的开源库替代原生 sse ,比如 @microsoft/fetch-event-source
2. 让后端每隔 2-5 秒向前端推送一个心跳包,心跳间隔太长可能意外中断连接 |