怎么实现spring mvc SSE服务端发送事件

技术怎么实现spring mvc SSE服务端发送事件这篇文章主要讲解了“怎么实现spring mvc SSE服务端发送事件”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“

本文主要讲解“如何通过spring mvc SSE服务器实现事件的发送”。本文的解释简单明了,易学易懂。接下来,请跟随边肖的思路,一起学习学习“如何实现spring mvc SSE服务器发送事件”!

需要新的浏览器支持。

服务端:

package com . example . demo . controller;

import org . spring framework . web . bind . annotation . request mapping;

import org . spring framework . web . bind . annotation . rest controller;

import Java . time . LocalDatetime;

import static Java . util . concurrent . timeunit . seconds;

@RestController

publicclassSSEController{

/**

*每5秒钟向浏览器发送一条消息

*媒体类型必须是:文本/事件流。

*输出格式:

*pre

*:这是注释的单个冒号,表示服务器推送的注释。(这样可以解决http中的324,发送心跳包)

* ID: 11代表数据标识符。接收到消息后,客户端将使用该标识作为内部属性Last-Event-ID,并在成功断开和重新连接后,将Last-Event-ID发送给服务器。

*资料:我是谁?该数据是客户端接收的数据(推送格式的json数据)。客户端将把这个字段解析成一个字符串。如果一条消息有多个数据字段,客户端会自动将它连接成带有换行符的字符串。

* event:当*event:myEvent客户端收到消息时,将在当前EventSource对象上触发一个事件。此事件的名称是此字段的值。如果消息没有此字段,客户端的事件源对象将触发默认消息事件。

*重试:3000在http超时断开后客户端重新连接需要多长时间?只接受整数,单位是毫秒。如果该值不是整数,它将被自动忽略。

*/pre

*

* @ authorCanaan

*@date2019/8/2823:15

*/

@RequestMapping(值='sse_push ',产生='text/event-stream ')

publictringpush()throwsInterruptedException {

sleep(5);

Stringmsg='当前时间为-' localhatetime . now()。toString();

returnString . format(' data :% s \ n \ n ',msg);

}

}客户端:

!DOCTYPEhtml

htmllang='en '

metachartset=' UTF-8 '

标题标题/标题

/head

身体

/body

scripttype='text/javascript '

if(!窗户。event source){ 0

var source=new event source('/demo/SSE _ push ');

source . addeventlistener(' message ',函数(e){ 0

//数据:服务器返回的数据。

//来源:服务器端URL的域名部分,即协议、域名和端口。

//lastEventId:服务器发送的数据数量。如果没有数字,此属性为空。

console . info(e . data);

});

source.addEventListener('open '),函数(e){ 0

//console.info('连接打开');

},false);

source.addEventListener('错误',函数(e){ 0

if(e.readyState===EventSource。已关闭){ 0

Console.info('连接已关闭');

返回;

}

console . info(e);

},false);

}else{

Alert('您的浏览器不支持SSE ');

}

/script

/html谢谢阅读。以上就是“如何实现spring mvc SSE服务器发送事件”的内容。学习完这篇文章,相信你对spring mvc SSE服务器如何实现事件发送有了更深的理解,具体用法还需要实践验证。在这里,边肖将为您推送更多关于知识点的文章,敬请关注!

内容来源网络,如有侵权,联系删除,本文地址:https://www.230890.com/zhan/97031.html

(0)

相关推荐

  • java中的公平锁和非公平锁(java哪些是公平锁和非公平锁)

    技术Java AQS中的公平锁与非公平锁怎么使用本篇内容主要讲解“Java AQS中的公平锁与非公平锁怎么使用”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Java AQS中

    攻略 2021年12月21日
  • 拼多多可以用花呗吗,京东淘宝拼多多分别用什么付款

    技术拼多多可以用花呗吗,京东淘宝拼多多分别用什么付款京东是京东自己的白条或者网银还有微信拼多多可以用花呗吗,淘宝可以支付宝跟网银,
    拼多多可以微信或者支付宝还有网银。
    无论是淘宝还是京东,就目前来看,都属于两个做得非常大

    生活 2021年10月31日
  • 数字英语,英语数字读法and规则

    技术数字英语,英语数字读法and规则英语数字读法及规则如下数字英语:1.从1——10one,two,three,four,five,six,seven,eight,nine,ten.2.从 11——19eleven,tw

    生活 2021年10月27日
  • 命令行中scp命令怎么用

    技术命令行中scp命令怎么用这篇文章将为大家详细讲解有关命令行中scp命令怎么用,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。 scp 全称为secure copy,它能够对文

    攻略 2021年11月20日
  • 指甲油怎么卸掉,卸指甲油不伤指甲的方法

    技术指甲油怎么卸掉,卸指甲油不伤指甲的方法每个女孩子都爱美,经常会看见女孩们指甲盖上涂一层美甲以此来增加自己的自信度,下面为卸指甲油不伤指甲的方法介绍指甲油怎么卸掉:1、涂指甲油之前在自己的指甲上涂一层宝宝的粘假指甲胶水

    生活 2021年10月26日
  • 简单说下 systemui

    技术简单说下 systemui 简单说下 systemui简单说下 systemui
    因为最近在进行一些 systemui 的开发,所以想简单地介绍一下笔者现在所认知的 systemui(目前的了解还是

    礼包 2021年12月2日