服务器给前端实时推送数据轻量化解决方案eventSource+Springboot

这篇具有很好参考价值的文章主要介绍了服务器给前端实时推送数据轻量化解决方案eventSource+Springboot。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

一、前端代码

body代码

<div id="result"></div>

js代码

$(function(){
    if(typeof(EventSource) != "undefined")
    {
        var source = new EventSource("/demo/getTime");
        source.onmessage = function(event) {
            console.log(event.data);
            $("#result").html(event.data);
        };
        source.addEventListener('error', function (event) {
            console.log("错误:" + event);
        });
        source.addEventListener('open', function (event) {
            console.log("建立连接:" + event);
        });
    } else {
        document.getElementById("result").innerHTML="抱歉,你的浏览器不支持 server-sent 事件...";
    }
})

二、后端代码

WebFlux 框架依赖jar包

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-webflux</artifactId>
</dependency>

控制器代码

@GetMapping(value = "/getTime",produces="text/event-stream;charset=UTF-8")
@ApiOperationSupport(order = 1)
@ApiOperation(value = "详情", notes = "传入name")
public Flux<String> getTime() {
	return Flux.interval(Duration.ZERO,Duration.ofSeconds(1)).map(i -> "最新时间:" + DateUtil.time() + "-" + i);
}

Flux.interval(Duration.ZERO,Duration.ofSeconds(1)),等待0秒开始,间隔1秒,Flux流数据里面的数字加1
三、效果展示
实时数据推送效果图,JavaWeb,spring boot,eventSource,实时消息推送时间和数字一直在增加,后端在不断推送,前端订阅到数据更新到页面

相对于websocket简单很多,只需要很少的代码就实现前端数据的实时刷新,只不过eventSource是单向数据通信,websocket可实现双向通信。文章来源地址https://www.toymoban.com/news/detail-847914.html

到了这里,关于服务器给前端实时推送数据轻量化解决方案eventSource+Springboot的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 服务器推送数据你还在用 WebSocket么?

    当涉及到推送数据时,人们首先会想到 WebSocket。 的确,WebSocket 允许双向通信,可以自然地用于服务器到浏览器的消息推送。 然而,如果只需要单向的消息推送,HTTP 通过服务器发送的事件也有这种功能。 WebSocket 的通信过程如下: 首先,通过 HTTP 切换协议。服务器返回 101 状态码后

    2024年01月18日
    浏览(50)
  • websocket多实例推送解决方案-数据实时展示

    需求 需要前端展示实时的订单数据信息。如下图所示,实时下单实时页面统计更新展示   思路方案 前端使用websocket 建立通信   后端监听数据库的binglog变更,实时得到最新数据,推送到前端  现状及问题 客户端想实现实时获取数据的变更,使用了websocket+kafkaMq,当数据库变

    2024年02月03日
    浏览(43)
  • Android平台Unity下如何通过WebCamTexture采集摄像头数据并推送至RTMP服务器或轻量级RTSP服务

    我们在对接Unity下推送模块的时候,遇到这样的技术诉求,开发者希望在Android的Unity场景下,获取到前后摄像头的数据,并投递到RTMP服务器,实现低延迟的数据采集处理。 在此之前,我们已经有了非常成熟的RTMP推送模块,也实现了Android平台Unity环境下的Camera场景采集,针对

    2024年01月21日
    浏览(70)
  • 公司数据迁移,服务器小文件多复制慢解决方案

    企业普遍面临一个挑战:如何高效地处理和移动大量的小型文件。这些文件虽然单个体积不大,但数量庞大,累积起来会占据极大的存储空间,而且在迁移过程中,复制这些文件的速度往往非常缓慢。这不仅影响了企业的运营效率,还可能导致项目延期和成本上升。那么,这

    2024年02月22日
    浏览(45)
  • websocket实时推送统计数据给前端页面

    前提须知:websocket基本使用 业务场景,每秒推送统计数据给前端页面,分别显示前天,昨天,今天的前十名客户数据 @ServerEndpoint(\\\"/smsMCustomerStaTop10Ws\\\") 定义推送数据给到具体的连接标识 以上 onOpen() 方法最终触发的业务方法 smsMonitorService.pushSmsMCustomerStaTop10(); 以上 smsMonitorMapper.findSm

    2024年02月15日
    浏览(49)
  • 【K210-ESP8266】开发板上传图像数据到服务器并实时显示

    本文章主要记录基于 【K210-ESP8266】 图传和显示的过程,结合人脸识别,实现嵌入式边缘设备的无线通讯和AI推流,是系列文章,欢迎学习交流。 关于上位机的开发过程,请参考以下博文: 【K210+ESP8266图传上位机开发】TCP server + JPEG图像解析上位机开发 💖 作者简介:大家好

    2023年04月15日
    浏览(170)
  • 服务器数据库被.rmallox勒索病毒加密了怎么办?|数据恢复解决方案

    .rmallox 勒索病毒是如何工作的?它如何加密用户的文件,并要求支付赎金?          .rmallox勒索病毒是一种特殊的恶意软件,其主要目的是加密用户的重要文件(如文档、图片、视频等),并要求受害者支付赎金以获取解密密钥。以下是勒索病毒通常的工作方式和加密用

    2024年04月28日
    浏览(48)
  • Syncthing实时共享同步数据 服务器数据备份软件 Syncthing开机自启动 修改端口(linux、windows)

    Syncthing是一个开源文件同步工具,可以在多台设备之间实时同步文件或文件夹。它可以帮助你自由地选择数据的存储位置、数据是否被第三方共享以及同步的数据如何在互联网上传输。 Syncthing使用P2P技术实现数据在设备间的同步,和传统的网盘不同,数据在同步的过程中并不

    2024年02月05日
    浏览(49)
  • SSE(服务器推送事件)规范

    SSE 是指 \\\"Server-Sent Events\\\",即服务器推送事件。它是一种基于 HTTP 的服务器推送技术,允许服务器实时向客户端推送数据。SSE 规范定义了一种在客户端和服务器之间单向实时通信的方式,通常用于实现服务器向客户端推送更新、通知或实时数据。 使用 SSE,客户端可以通过简单

    2024年01月18日
    浏览(56)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包