Web消息推送之SSE

文章目录

  • 一、消息推送简介
    • 1、消息推送介绍
    • 2、几种方式介绍
  • 二、SSE原理介绍
    • 1、SSE基础概念
    • 2、SSE特点
    • 3、SSE与WebSocket异同
  • 三、SSE推送实现
    • 1、概述
      • 1.1 使用Spring MVC来发送事件
      • 1.2 使用Spring Web Flux发送
    • 2、SSE使用场景
    • 3、SSE注意事项
    • 4、实战

一、消息推送简介

1、消息推送介绍

消息推送(push)通常是指网站的运营工作等人员,通过某种工具对用户当前网页或移动设备APP进行的主动消息推送。推送的场景比较多,比如有人关注我的公众号,这时我就会收到一条推送消息,以此来吸引我点击打开应用,消息推送一般又分为web端消息推送移动端消息推送

另外注意主流浏览器只支持6个连接

2、几种方式介绍

详情可以参考:我有 7种 实现web实时消息推送的方案,7种

  • 短轮询

    客户端定期向服务器发送请求。如果服务器有更新,它会向客户端发送响应并关闭连接。如果服务器没有更新,它也会向客户端发送一个响应并关闭连接。

  • 长轮询

    客户端向服务器发送请求。如果服务器有更新,它会向客户端发送响应并关闭连接。如果服务器没有更新,它会保持连接直到更新可用。当更新可用时,服务器向客户端发送响应并关闭连接。如果更新在某个超时时间内不可用,服务器会向客户端发送响应并关闭连接。

  • iframe流

    iframe流就是在页面中插入一个隐藏的