V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
lisisi
V2EX  ›  前端开发

页面 SSE 连接总是被自动断开,有什么好的方式处理吗?

  •  
  •   lisisi · 5 天前 · 515 次点击

    页面和服务端建立 Server-Sent Events 连接,基本上活不过 60 秒,就被浏览器或者网络自动断开了。

    服务器端设置了 12 小时的 keep-live ,前端每隔 20 秒发个心跳包,有时候管用,要是碰到国产浏览器、或者移动网络有时候还是活不下来。

    以下两个方案,哪个开销更小一些?

    1. 不管当前 SSE 链接断没断,在前端定时向后端 /stream/channel/channel_id 发起建立新 SSE 连接。这样会在服务器端造成过多重复连接吗?
    2. SSE 每一阶段数据传完了在前端触发 eventSource.close(); 需要接受数据的时候,再由用户触发 ReconnectToSSE()。

    碰到页面 SSE 连接总是被自动断开,还有什么好的方式处理吗?

    1 条回复    2025-07-26 11:30:11 +08:00
    shadowyue
        1
    shadowyue  
       5 天前   ❤️ 1
    轮询兜底。SSE 连不上才是正常的。断了就重连。
    关于   ·   帮助文档   ·   自助推广系统   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1303 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 21ms · UTC 23:49 · PVG 07:49 · LAX 16:49 · JFK 19:49
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.