怎么实现springmvcSSE服务端发送事件
这篇文章主要讲解了“怎么实现spring mvc SSE服务端发送事件”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“怎么实现spring mvc SSE服务端发送事件”吧!
成都创新互联公司是专业的冷水江网站建设公司,冷水江接单;提供成都网站设计、网站制作,网页设计,网站设计,建网站,PHP网站建设等专业做网站服务;采用PHP框架,可快速的进行冷水江网站开发网页制作和功能扩展;专业做搜索引擎喜爱的网站,专业的做网站团队,希望更多企业前来合作!
需要新式浏览器支持
服务端:
package com.example.demo.controller; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; import java.time.LocalDateTime; import static java.util.concurrent.TimeUnit.SECONDS; @RestController public class SSEController { /** * 每5秒向浏览器发送消息 * 媒体类型必须为:text/event-stream * 输出的格式: ** :这是注释 单独一个冒号,代表服务器推送的一个注释。(这个可解决http中的324,发送心跳包) * id:11 代表数据标识符,客户端接收到消息后,会把这个 ID 作为内部属性 Last-Event-ID,在断开重连 成功后,会把 Last-Event-ID 发送给服务器。 * data:我是谁 这个数据就是客户端所接受到的数据(可推送格式化过的json数据),客户端会把这个字段解析为字符串,如果一条消息有多个 data 字段,客户端会自动用换行符 连接成一个字符串。 * event:myEvent 客户端收到消息时,会在当前的 EventSource 对象上触发一个事件,这个事件的名称就是这个字段的值,如果消息没有这个字段,客户端的 EventSource 对象就会触发默认的 message 事件。 * retry:3000 客户端在http超时断开后多长时间重新连接 ,只接受整数,单位是毫秒。如果这个值不是整数则会被自动忽略。 ** * @author Canaan * @date 2019/8/28 23:15 */ @RequestMapping(value = "sse_push", produces = "text/event-stream") public String push() throws InterruptedException { SECONDS.sleep(5); String msg = "当前时间为-" + LocalDateTime.now().toString(); return String.format("data:%s\n\n", msg); } }
客户端:
Title
感谢各位的阅读,以上就是“怎么实现spring mvc SSE服务端发送事件”的内容了,经过本文的学习后,相信大家对怎么实现spring mvc SSE服务端发送事件这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是创新互联,小编将为大家推送更多相关知识点的文章,欢迎关注!
新闻名称:怎么实现springmvcSSE服务端发送事件
本文地址:http://pwwzsj.com/article/jcoepd.html