当前位置:   article > 正文

SpringMVC使用SSE向浏览器推送数据_spring mvc sse

spring mvc sse

一、SSE 的本质

HTTP 协议无法做到服务器主动推送信息。但是,有一种变通方法,就是服务器向客户端声明,接下来要发送的是流信息(streaming)。

也就是说,发送的不是一次性的数据包,而是一个数据流,会连续不断地发送过来。这时,客户端不会关闭连接,会一直等着服务器发过来的新的数据流,视频播放就是这样的例子。本质上,这种通信就是以流信息的方式,完成一次用时很长的下载。

SSE 就是利用这种机制,使用流信息向浏览器推送信息。它基于 HTTP 协议,目前除了 IE/Edge,其他浏览器都支持。

三、集成

SpringMVC内置SseEmitter类内置了一些方法,方便我们使用SSE(Server Sent Event)向浏览器推送数据。

1.sse机制不同于传统的“请求-响应”模型,在前端必须使用EventSource对象请求我们的接口,创建一个连接,

var source = new EventSource('url');

withCredentials:表示是否一起发送 Cookie。

var source = new EventSource(url, { withCredentials: true });

2.然后监听服务端发送过来的事件。

下图中监听的为服务端通过我们上面创建的连接发送过来的message(默认)事件࿰

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/Gausst松鼠会/article/detail/335464
推荐阅读
相关标签
  

闽ICP备14008679号