当前位置: 首页 > news >正文

广汉网站建设ghxhwl传奇网页游戏大全

广汉网站建设ghxhwl,传奇网页游戏大全,wordpress 编辑插件下载,wordpress 映射 frp 群晖SpringBoot整合SSE(管控连接) 1、sse单向通信整成逻辑双向通信。 2、轻量级实现端对端信息互通。 3、避免繁琐配置学习。 核心点通过记录连接码和心跳检测实现伪双向通道,避免无效连接占用过多内存。 服务器推送(Server Push)技术允许网站和应用在有新内容可用时主动向用户…

SpringBoot整合SSE(管控连接)

1、sse单向通信整成逻辑双向通信。

2、轻量级实现端对端信息互通。

3、避免繁琐配置学习。

核心点通过记录连接码和心跳检测实现伪双向通道,避免无效连接占用过多内存。

服务器推送(Server Push)技术允许网站和应用在有新内容可用时主动向用户推送更新,而不需要用户主动去查询。与传统的"拉"模型不同,服务器推送采用"推"的方式主动把信息发给客户端。服务器推送的优点有两个:

  1. 用户体验更流畅。用户不需要一直去刷新页面来获取最新内容,系统会在有新的消息出现时自动推送给客户端。

  2. 更高效。服务器只在有真正有用的内容时才主动推送,节省了大量不必要的客户端请求。常见的服务器推送技术包括:

    • 长轮询:客户端向服务器发起一个长时间的请求,一直保持打开,直到服务器有新内容推送。效率不高但兼容性好。
    • SSE(Server Sent Events):服务器可以在需要时一直向客户端推送事件,客户端只需要监听一个事件源。兼容性一般。
    • WebSocket:基于TCP的双向通信,服务器和客户端建立持久连接,允许双向实时消息传输。兼容性差但效率高。

Spring SseEmitter就是使用SSE技术实现服务器推送。与传统的Http长连接不同,它允许Spring服务能主动向浏览器推送消息。这可以显著提高用户体验。比如在聊天应用中,只有在有新消息时才主动推送,让用户感觉及时接收到信息。

SseEmitter 的功能和用途

SseEmitter 的主要功能就是允许服务器能主动将信息推送给浏览器客户端。它实现了服务器推送功能。 它的主要功能和用途有以下几个:

  1. 能主动向单个客户端推送消息。SseEmitter能匹配唯一的客户端请求,并与该客户端保持持久连接。通过此连接,服务器可以随时将事件推送给这个客户端。
  2. 能推送重复的消息。SseEmitter允许服务器不停发送相同的消息给客户端,形成一个连续的事件流。客户端只需要监听这个事件流即可。
  3. 支持延迟和定时推送。通过@Scheduled注解,服务器可以在指定时间推送指定延迟的事件。
  4. 支持推送不同类型的事件。客户端通过事件的名称能区分不同类型的事件,并作出不同的响应。
  5. 支持推送基本数据类型和POJO对象。服务器可以推送String、int等基本类型,也可以推送任意的Java对象。
  6. 能主动通知客户端关闭。通过调用complete()或error()方法,服务器可以主动告知客户端连接已关闭。
  7. 解耦服务器端和客户端。服务器端仅负责推送事件,与具体的客户端无关。

总的来说,SseEmitter的作用就是让服务器端能主动将信息推送给单个浏览器客户端,实现服务器推送的功能。它解耦了服务器端和客户端,给予服务器端主权主动推送事件的能力。这对实时通信、实时消息推送非常有用,能显著提高用户体验。

与 WebSocket 对比

SSE(SseEmitter)与WebSocket的主要区别:

  1. 建立连接的方式不同:
  • SSE:客户端发送一个长连接请求,然后服务端将事件通过 HTTP 响应推送给客户端。
  • WebSocket:采用双工通信,客户端和服务器建立实时的双向通信信道。
  1. 传输效率不同:
  • SSE:需要经常建立和关闭连接,效率不如 WebSocket。但支持 HTTP 缓存。
  • WebSocket:建立后保持连接不断,效率高于SSE。
  1. 兼容性不同:
  • SSE:原生支持的浏览器相对较少。需要Polyfill。
  • WebSocket:现代浏览器基本全面支持。
  1. 传输内容不同:
  • SSE:只允许推送文本,不支持传输二进制数据。
  • WebSocket:支持传输文本以及二进制数据。
  1. 功能不同:
  • SSE:只支持服务器主动推送,客户端只能被动接收。
  • WebSocket:支持双向全 duplex 通信,客户端和服务器都可以主动发送消息。
  1. 使用场景不同:
  • SSE:适用于需要一对一推送事件的场景。客户端只需监听,服务器主动推送。
  • WebSocket:适用于需要实时双向交互的场景。例如聊天应用。

总的来说:

  • SSE 适用于服务器单向推送文本事件的场景,兼容性稍差但效率高。
  • WebSocket 适用于实时双向通信的场景,效率更高但兼容性要求高。

一、引入maven依赖

SseEmitter 包含在 spring-webmvc 包中,如果是 spring boot 项目,确定已经引入了如下依赖即可

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

二、连接信息实体 

package com.ruoyi.web.dto;import lombok.Data;
import lombok.experimental.Accessors;
import org.springframework.web.servlet.mvc.method.annotation.SseEmitter;/*** description: sse连接信息* DateTime:2024/8/1-17:49*/
@Accessors(chain = true)
@Data
public class SseInfoDto {/*** 门店id*/private Long studioId;/*** 连接唯一凭证*/private String connectCode;/*** 用户唯一标识id*/private O
http://www.yayakq.cn/news/476578/

相关文章:

  • 装修的网站阿里云网站域名备案
  • 美康优选网站怎么做的网站开发需要做什么
  • 旅行社网站建设网站中的人力资源建设
  • 网站开发的高级阶段包括湖南seo优化公司
  • 群辉 wordpress 外网直通车关键词优化口诀
  • 阿里云做网站用哪个镜像单位网站建设建议对策
  • 虚拟空间网站ftp如何差异化同步安徽 网站制作
  • 网站名百度搜不到wordpress安装权限设置
  • 建设网站所采用的技术高新区建网站外包
  • 1000个免费货源网站入口好评的广告牌制作公司
  • 西安住房和城乡建设局网站怎么免费制作app
  • wordpress把站php+mysql网站开发全程实例 下载
  • 阿里巴巴建设网站福田企业的网站建设公司好吗
  • 夹江企业网站建设报价动易网站只能进首页
  • 企业门户网站建设机构百度竞价渠道代理
  • 企业建站方案网站开发建设协议
  • 如何维护公司网站网络规划设计师是干啥的
  • 高校校园网网站内容如何建设网站开发使用什么工具
  • 网站怎样改域名做网站大公司
  • 网站怎么被搜到首页云主机由哪些部件组成
  • 苏州制作网站的公司简介网站上漂亮的甘特图是怎么做的
  • 保健品 东莞网站建设wordpress设置弹窗
  • 用自己的身份做网站备案青岛做网站eoe
  • 上海有哪些网站设计公司编程软件做网站的
  • 网站添加在线支付怎么查看网站ftp地址
  • 长沙网站搭建优化免费十大软件app
  • 查网站是否正规网站建设认准猪八戒网
  • 外贸网站建设优化营销企业官网模板下载
  • php网站建设思路方案企业所得税交多少
  • 打开网站做视频网站多大空间够