五种Web消息推送常用技术:
• 短轮询:客户端定期向服务器发送请求询问有无新数据,每次请求后,无论有无数据,服务器都快速响应并关闭连接。其效率低、延迟高。
• 长轮询:客户端向服务器发送请求后,服务器不会立即响应,而是保持连接直到有新数据需要推送,依赖HTTP持久连接(Keep - Alive)和超时机制。特点是减少请求次数,延迟较短,但仍有资源占用。
• SSE(Server - Sent Events):基于HTTP协议,服务器向客户端推送事件,客户端通过EventSource接收实时数据,数据流仅从服务器到客户端,适用于不需要客户端反馈的场景,连接中断时浏览器会自动尝试重新连接服务器。
• MQTT:基于发布/订阅模式的消息协议,轻量、高效。客户端订阅主题,代理服务器推送消息,适用于物联网(IoT)场景。
• WebSocket:建立持久双向通信通道,允许客户端和服务器实时互相推送数据,具有低延迟、高效率的特点,适用于实时应用。