首页
学习
活动
专区
圈层
工具
发布
    • 综合排序
    • 最热优先
    • 最新优先
    时间不限
  • 来自专栏程序员分享

    SpringBoot+Vue3整合SSE实现实时消息推送

    SpringBoot+Vue3整合SSE实现实时消息推送一、引言在当今互联网应用飞速发展的时代,实时消息推送已然成为提升用户体验的关键要素。 无论是社交平台的新消息提醒,让你能第一时间与好友互动;还是电商系统的订单状态更新,使你随时掌握购物动态;亦或是在线协作工具的实时通知,助力团队高效沟通协作,实时消息推送都发挥着不可或缺的作用。 在众多实现实时消息推送的技术方案中,Server-Sent Events(SSE)以其独特的优势脱颖而出,尤其是在结合 Spring Boot 与 Vue3 进行开发时,能碰撞出令人惊喜的火花。 今天,就让我们一起深入探索如何利用 Spring Boot 与 Vue3 整合 SSE,快速实现高效的实时消息推送功能,开启一段充满挑战与惊喜的技术之旅! (二)测试实时消息推送在浏览器中打开前端页面后,就可以开始测试实时消息推送功能了。当后端有新的消息推送时,前端页面会实时显示出来。可以通过调用后端的/sendMessage接口来发送测试消息

    36520编辑于 2026-03-23
  • 来自专栏pythonista的日常

    订单实时消息通知实现

    前段时间我们项目有个消息实时推送的需求,比如用户在我们软件下了一个订单,商家在我们软件上不用手动刷新页面就会收到客户下单的消息,就是我们后端主动给前端推送消息。我们就考虑用了实时通讯的技术。 这个项目是暴露出一个发送消息的接口,供我们商城后台调用发送消息实时推送的逻辑功能实现逻辑是前端连接上我们消息同步服务(可以理解为进入游戏大厅),然后订阅我们指定的 url 地址(可以理解为进入某个游戏房间),我们软件调用同步服务发送消息的接口对指定的订阅 url 地址发送消息,这样我们就可以主动给前端推送消息了。 我自己手写了一个简单的聊天室的例子 用浏览器打开两个相同的标签页,在一个标签页输入聊天内容,另外一个聊天页也能收到消息。 ? 也可以通过接口向聊天室发送消息。 ?

    1.8K10发布于 2020-06-16
  • 来自专栏向治洪

    实时消息传输协议(RTMP)详解

    通常情况下,不同类型的消息会被分配不同的优先级,当网络传输能力受限时,优先级用来控制消息在网络底层的排队顺序。 RTMP块流 实时消息传递协议块流(RTMP块流)。 RTMP块流被设计用来传输实时消息协议,它可以使用任何协议来发送消息流。每个消息都包含时间戳和有效类型标识。 如果消息头不能被忽略,它应该包括长度。这个字段在块头中占用3字节。 类型ID 各种类型的协议控制消息的ID。这些消息使用RTMP块流协议和更高级别的协议来传输信息。 C1和S1格式 C1和S1包长度为1536字节,包含以下字段: 0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 C2和S2格式 C2和S2包长度为1536字节,作为C1和S1的回应,包含以下字段: 0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3

    13.5K52发布于 2018-02-06
  • 来自专栏饭勺oO的技术博客

    造轮子之消息实时推送

    说到消息推送,很多人肯定会想到Websocket,既然我们使用Asp.net core,那么SignalR肯定是我们的首选。 接下来就用SignalR来实现我们的消息实时推送。 约定消息通知结构 为了方便并且统一结构,我们最好约定一组通知格式,方便客户端处理消息。 } } NotificationData包含消息通知类型Type,以及消息数据Data。 配合EventBus进行推送 有时候我们有些任务可能非实时响应,等待后端处理完成后,再给客户端发出一个消息通知。或者其他各种消息通知的场景,那么配合EventBus就可以非常灵活了。 可以看到成功接收到了消息通知。 对接非常容易且灵活。 就这样我们轻轻松松完成了消息实时通知的功能集成。

    71910编辑于 2023-10-18
  • 来自专栏Owen's World

    php实现websocket实时消息推送

    然而在实时通信中,并没有多大的作用,http只能由client发起请求,server才能返回信息,即server不能主动向client推送信息,无法满足实时通信的要求。 = //这个则是经过服务器确认,并且加密过后的 Sec-WebSocket-Key,也就是client要求建立WebSocket验证的凭证 Sec-WebSocket-Protocol: chat 3、 那么 $changes = array([1] => Resource id #4),此时用于接收新客户端2连接 * 情况二:如果是客户端1(Resource id #5)发送消息 socket_select有两个作用,这也是实现了IO复用 * 1、新客户端来了,通过 Resource id #4 介绍新连接,如情况一 * 2、已有连接发送数据,那么实时切换到当前连接 // 打开websocket webSocket.onopen = function (event){ onOpen(event); }; //监听消息

    3.1K10编辑于 2021-12-08
  • 来自专栏分享学习

    springBoot集成websocket实时消息推送

    springBoot集成websocket实时消息推送 WebSocket是一种在Web应用程序中实现双向通信的协议。 常见的消息推送方法 WebSocket:通过使用WebSocket协议,可以在Java后端实现双向通信,从而实现消息实时推送。 消息队列:通过使用消息队列如RabbitMQ、ActiveMQ或者Kafka等,Java后端可以将消息发布到消息队列中,然后客户端通过订阅消息队列来获取实时消息推送。 如下图所示,原理就是客户端不断地向服务端发请求,如果服务端数据有更新,服务端就把数据发送回来,客户端就能接收到新数据了 长轮询(Long Polling):虽然不同于实时推送,但长轮询是一种模拟实时推送的技术 在Java后端,你可以实现长轮询机制来达到类似实时推送的效果。 以上是一些常见的Java后端实现消息实时推送提醒的方法。

    3.2K40编辑于 2023-11-17
  • 来自专栏实战docker

    Flink实战:消费Wikipedia实时消息

    article/details/85205622 关于Wikipedia Edit Stream Wikipedia Edit Stream是Flink官网提供的一个经典demo,该应用消费的消息来自维基百科 ,消息中包含了用户名对wiki的编辑情况,demo的官方资料地址:https://ci.apache.org/projects/flink/flink-docs-release-1.2/quickstart /run_example_quickstart.html 消息来源 消息的DataSource是个名为WikipediaEditsSource的类,这里面建立了到irc.wikimedia.org的Socker Internet_Relay_Chat 关于WikipediaEditsSource类的深入分析,请参考《Flink数据源拆解分析(WikipediaEditsSource)》 实战简介 本次实战就是消费上述消息 ,然后统计每个用户十五秒内所有的消息,将每次操作的字节数累加起来,就得到用户十五秒内操作的字节数总和,并且每次累加了多少都会记录下来并最终和聚合结果一起展示; 和官网demo的不同之处 和官网的demo

    1K20发布于 2019-06-02
  • 来自专栏子晋城

    IM消息机制(一):保证在线实时消息的可靠投递

    或者说信息)的实时性、必达性。 (实际上IM中,数据通讯层无论用的是UDP还是TCP协议,都同样需要消息送达保证(即QoS)机制,原因在于IM的通信是A端-Server-B端的3方通信,而非传统C/S或B/S这种2方通信)。 要想实现应用层的消息可靠投递,必须加入应用层的确认机制,即:要想让发送方client-A确保接收方client-B收到了消息,必须让接收方client-B给一个消息的确认,这个应用层的确认的流程,与消息的发送流程类似 为了保证消息的可靠性,也需要有ack机制,但由于拉取离线消息不存在N报文,故实际情况要简单的多,即先发送offline:R报文拉取消息,收到offline:A后,再发送offlineack:R删除离线消息 ack,群消息就没有这么简单了,群消息存在一个扩散系数,im群消息的可靠投递问题感兴趣的可查阅相关资料。

    2.8K21编辑于 2022-01-18
  • 来自专栏友弟技术工作室

    AlertOver简单好用的实时消息工具

    Alertover是一个高效免费的团队消息中心,可以用来作为中小型创业团队或者公司的消息中心,随时随地,分级别分组接收来自服务器预警,运营管理后台消息,提高技术团队,运营团队的消息响应速度。 支持多发送源,消息分级,声音提示。 从此远离昂贵的短信通知,抛弃乱糟糟的邮件通知。 3,创建并管理你所在组织的发送源 在发送源列表添加组织中的发送源,确定后可以获取发送源对应ID,作为source用于代码中发送 ?

    1.6K110发布于 2018-04-25
  • 来自专栏跟着飞哥学编程(全栈联盟社区)

    WebSocket实现长连接实时消息推送

    } public static synchronized Map<String, WebSocketUtil> getClients() { return clients; } } 3. 具体业务中应用,此处根据自身业务使用 //业务代码,例如:前台发起二维码扫码实名认证请求,需要后台认证完成后主动推送消息给前台修改二维码状态 WebSocketUtil webSocketUtil = websocket.onopen = function() { console.log(username+"WebSocket连接成功"); // sock.send(JSON.stringify());//客户端发送消息 }; websocket.onmessage = function(e) {//接收消息 e = e || event; var message = e.data; console.log(username+"接收到消息:"+message); //根据不同状态操作二维码 if(message!

    2.3K10编辑于 2022-11-30
  • 来自专栏飞鸟的专栏

    Redis实现消息队列和实时通信

    消息队列消息队列是一种常用的通信模式,用于解耦消息的发送者和接收者,并实现异步处理。Redis提供了一个名为"List"的数据结构,可以用于实现简单的消息队列。 如果有消息存在,我们打印出消息内容,否则打印出提示信息。使用Redis的List数据结构实现消息队列的优势在于其高效的插入和读取操作,以及支持多个消费者并发消费的能力。 实时通信Redis也可以用作实时通信的工具,其中最常用的方法是通过发布/订阅模式进行消息传递,这在前面的回答中已经详细介绍过了。 另外,Redis还提供了一些其他功能,如集合(Set)和有序集合(Sorted Set),可以用于实现更复杂的实时通信场景。 用户可以加入聊天室、发送消息,并实时接收其他用户发送的消息

    1.3K40编辑于 2023-05-17
  • 来自专栏最新最全的大数据技术体系

    分布式实时消息队列Kafka(四)

    分布式实时消息队列Kafka(四) 知识点01:课程回顾 Kafka中生产者的数据分区规则是什么? 建议使用的分配规则 Kafka中数据读写的流程 分布式存储工具 Zookeeper:分布式协调服务工具 HDFS:分布式文件系统 Hbase:分布式NoSQL数据库 Kafka:分布式消息队列 T2【3,4】 T33,4】C3T1【5,6】 T2【5,6】 T3【5,6】 问题:负载不均衡 范围分配优点 如果Topic的个数比较少,分配会相对比较均衡 范围分配缺点 如果Topic 【1】 T3【0】 T3【1】 T3【2】 轮询负载均衡 消费者分区C2T1【0】 T2【1】C3T2【0】T3【0】 T3【1】 T3【2】 假设二:黏性 消费者分区C1T1【0】C2T2【0 】 T2【1】C3T3【0】 T3【1】 T3【2】 黏性负载均衡 消费者分区C2T2【0】 T2【1】 T1【0】C3T3【0】 T3【1】 T3【2】 小结 规则:尽量保证所有分配均衡,尽量保证每个消费者如果出现故障

    1.4K20编辑于 2021-12-07
  • 来自专栏架构之家

    使用Flink 与 Pulsar 打造实时消息系统

    随着数据规模日益增长,产品不断迭代,BIGO 消息流平台承载的数据规模出现了成倍增长,下游的在线模型训练、在线推荐、实时数据分析、实时数仓等业务对消息流平台的实时性和稳定性提出了更高的要求。 为了提高消息队列的实时性、稳定性和可靠性,降低运维成本,我们开始考虑是否要基于开源 Kafka 做本地化二次开发,或者看看社区中有没有更好的解决方案,来解决我们在维护 Kafka 集群时遇到的问题。 的生产环境中经受了考验,支持每秒数百万条消息的发布-订阅(Pub-Sub)。 3、低延迟:在大规模的消息量下依然能够保持低延迟(小于 5 ms)。 业务收益 从 2020 年 5 月上线至今,Pulsar 运行稳定,日均处理消息数百亿,字节入流量为 2~3 GB/s。 我们的 ETL 任务有一万多个 topic,每个 topic 平均有 3 个分区,使用 3 副本的存储策略。之前使用 Kafka,随着分区数增加,磁盘由顺序读写逐渐退化为随机读写,读写性能退化严重。

    1.7K20编辑于 2022-07-12
  • 来自专栏最新最全的大数据技术体系

    分布式实时消息队列Kafka(三)

    分布式实时消息队列Kafka(三) 知识点01:课程回顾 请简述Kafka的集群架构及角色功能? KafkaConsumer 需要配置对象:管理配置,例如连接地址:Properties step2:消费者需要订阅Topic KafkaConsumer:subscribe(List) step3: acks:返回的确认,当接收方收到数据以后,就会返回一个确认的消息 生产者向Kafka生产数据,根据配置要求Kafka返回ACK ack=0:生产者不管Kafka有没有收到,直接发送下一条

    1.1K40编辑于 2021-12-07
  • 来自专栏最新最全的大数据技术体系

    分布式实时消息队列Kafka(一)

    分布式实时消息队列Kafka(一) 知识点01:课程回顾 Hbase是什么? 分布式基于内存按列存储NoSQL数据库,用于实时、随机读写大量的数据 Hbase的设计思想是什么? step2:什么情况下需要使用消息队列? step3消息队列的优缺点是什么? 简单点说:消息队列MQ用于实现两个系统之间或者两个模块之间传递消息数据时,实现数据缓存 功能 基于队列的方式,实现数据缓存 应用场景 用于所有需要实现实时、高性能、高吞吐、高可靠的消息传递架构中 优点 step3:异步的特点和应用场景? Kafka:分布式实时消息队列系统 实施 概念HDFSHbaseKafka第一层逻辑划分第二层逻辑划分存储分区及划分规则分区存储规则分区安全存储单元架构HA 概念 HDFS Hbase

    1.4K30编辑于 2021-12-07
  • 来自专栏最新最全的大数据技术体系

    分布式实时消息队列Kafka(一)

    分布式实时消息队列Kafka(一) 知识点01:课程回顾 Hbase是什么? 分布式基于内存按列存储NoSQL数据库,用于实时、随机读写大量的数据 Hbase的设计思想是什么? step2:什么情况下需要使用消息队列? step3消息队列的优缺点是什么? 简单点说:消息队列MQ用于实现两个系统之间或者两个模块之间传递消息数据时,实现数据缓存 功能 基于队列的方式,实现数据缓存 应用场景 用于所有需要实现实时、高性能、高吞吐、高可靠的消息传递架构中 优点 step3:异步的特点和应用场景? ,实现立即一致性 异步的概念 流程 step1:用于提交请求 step2:后台将请求放入消息队列,等待处理,返回给用户一个临时结果 step3:用户看到临时的结果,真正的请求在后台等待处理

    1.8K30发布于 2021-04-09
  • 来自专栏最新最全的大数据技术体系

    分布式实时消息队列Kafka(五)

    分布式实时消息队列Kafka(五) 知识点01:课程回顾 一个消费者组中有多个消费者,消费多个Topic多个分区,分区分配给消费者的分配规则有哪些? step1:生产者提交写入请求给Kafka:Topic、K、V step2:Kafka根据Topic以及根据Key的分区规则,获取要写入的分区编号 step3:Kafka要获取元数据【ZK】找到对应分区所在的 step1:消费者消费请求提交Kafka:Topic、Partition、Offset step2:根据Topic以及Partition来获取要读取的分区编号 step3:根据分区编号从元数据中找到这个分区对应的 目标:了解消息队列的三种一次性语义 路径 什么是一次性语义? 属性值含义bootstrap.servershostname:9092KafkaServer端地址poducer.typesync同步或者异步发送,0,1,allmin.insync.replicas3如果为同步

    1.2K40编辑于 2021-12-07
  • 来自专栏最新最全的大数据技术体系

    分布式实时消息队列Kafka(二)

    分布式实时消息队列Kafka(二) 知识点01:课程回顾 什么是消息队列? 用于两个系统之间或者两个模块之间实现消息传递,基于队列机制实现数据缓存 消息队列的优点是什么? 实现解耦 通过异步,提高性能 消息队列的缺点是什么? Kafka是一个基于订阅发布模式的高性能、高吞吐的实时消息队列系统 Kafka在大数据的应用场景是什么? 用于实时架构中:实现数据的临时存储 Kafka中的Producer、Consumer、Consumer Group 、Broker分别是什么? 知识点09:可视化工具Kafka Tool 目标:了解Windows版可视化工具Kafka Tool的使用 路径 step1:安装Kafka Tool step2:启动构建连接 step3

    70020编辑于 2021-12-07
  • 来自专栏开源技术小栈

    MQTT 与 PHP 使用实时消息传递指南

    username = 'emqx_user'; $password = 'public'; $clean_session = false; $mqtt_version = MqttClient::MQTT_3_ 发布后,客户端需要进入轮询状态来处理传入的消息和重传队列: for ($i = 0; $i< 10; $i++) { $payload = array( 'protocol' => 'tcp username = 'emqx_user'; $password = 'public'; $clean_session = false; $mqtt_version = MqttClient::MQTT_3_ MQTT 主题以及接收实时消息。 这是使用 PHP 和 MQTT 构建功能强大的实时应用程序的基础步骤。

    60510编辑于 2025-07-24
  • 来自专栏岑志军的专栏

    3)OC中消息消息转发-01

    ,上面给对象发消息的代码可以简写成: objc_msgSend(p, @selector(eat)); 上面方法调用的意思就是:给p对象发送名为eat的消息,所以OC中给对象发消息本质上都是调用objc_msgSend 简单来说就是消息的接收者。 op:处理消息的方法选择器,也就是我们常见的@selector()。 ...:包含方法参数的可变参数列表, 翻译如下: 当遇到方法调用时,编译器生成对其中一个函数的调用。 %xmm6, -0x20(%rbp) push %a6 movdqa %xmm7, -0x10(%rbp) // _class_lookupMethodAndLoadCache3(receiver 省略 在MethodTableLookup里面又调用了_class_lookupMethodAndLoadCache3方法: /************************************* ***************************************************************/ IMP _class_lookupMethodAndLoadCache3(

    60040发布于 2018-05-28
领券