前端——长连接、轮询、心跳机制

2,124 阅读1分钟

长链接

  • 通过使用websocket来实现的一种后端数据推送。
  • 前端在启动时,会跟后端建立一个连接,这个连接不会断开(可能会导致连接池负载,导致请求排队),如果后端发生变化就会通过建立的连接返回给前端。
  • 原生的websocket前端一般不会使用,一般使用socket.io这个库,前后端均支持。

轮询

原理就是循环遍历。 好处是不会长时间占用连接池,但是可能会造成网站性能问题。 需要考虑何时停止轮询。

  • 如果后端的数据变化不是固定的频率,如果说前端请求的频率<后端数据更新的频率,就会造成数据的丢失。
  • 如果后端数据长时间没有进行更新,就会造成请求资源的浪费。

心跳机制

间隔一段时间就会向后端发送一个请求,询问后端是否还活着,后端一般会返回一个通用信息用来确定服务器当前状态。