发布测试文章

为什么 WebSocket 的内置心跳能解决问题?

WebSocket 协议定义了pingpong帧(属于控制帧,不承载业务数据),工作流程如下:

  1. 服务器定期发送 ping 帧(如每 30 秒)给客户端。
  2. 浏览器自动返回 pong 帧(无需前端 JS 参与,由浏览器内核处理)。
  3. 若服务器连续多次(如 3 次)未收到 pong 帧,则判定连接已断开,触发onClose事件记录退出时间。

这种机制的优势在于:

完全不依赖前端页面状态:即使浏览器最小化、页面无交互、JS 线程被阻塞,浏览器内核仍会自动响应 ping 帧。

回复 Mr.Zhao 取消回复

您的邮箱地址不会被公开。 必填项已用 * 标注

《“发布测试文章”》 有 1 条评论

  1. Mr.Zhao 的头像

    向世龙致敬