实时通讯技术是一项基于web开发的重要技术,网站是需要前后端通讯的,因此数据刷新的时间就是获取信息的时间,为了能准确而有快速的获取信息需要尽可能的提高信息的刷新效率。
常见的实时通讯技术:
通讯方式 | Ajax | Comet | WebSocket | SSE |
---|---|---|---|---|
描述 | 短轮询是浏览器端提交表单查询 | 长轮询是服务器收到请求后如果有数据, 立刻响应请求; 如果没有数据就会 等待 一段时间,直到有数据后立刻响应请求; 如果时间到了还没有数据, 则响应 http 请求(定时刷新) | WebSocket的实现了一次连接,双方通信的功能。首先由客户端发出WebSocket请求,服务器端进行响应,TCP三次握手。这个连接一旦建立起来,就保持在客户端和服务器之间,两者之间可以直接的进行数据的互相传送。 | 在 sse 的场景下,客户端发起请求,连接一直保持,服务端有数据就可以返回数据给客户端,这个返回可以是多次间隔的方式。sse 是单通道,只能服务端向客户端发消息 |