服务器推送技术之——SSE

article/2025/10/3 18:11:29

一 点睛

服务器推送技术在日常开发中较为常用。

SSE:Server send Event:服务端发送事件。

本项目推送技术是基于:当客户端向服务端发送请求,服务端会抓住这个请求不放,等有数据更新的时候才返回给客户端,当客户端接收到消息后,再向服务端发送请求,周而复始。这种方式的好处是减少了服务器的请求数量,大大减少了服务器的压力。

二 实战

1 控制器

package com.wisely.highlight_springmvc4.web.ch4_5;import java.util.Random;import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;@Controller
public class SseController {//这里使用输出的媒体类型为text/event-stream,这是服务端的SSE的支持@RequestMapping(value="/push",produces="text/event-stream") public @ResponseBody String push(){Random r = new Random();try {//演示每5秒向浏览器推送随机消息Thread.sleep(5000);} catch (InterruptedException e) {e.printStackTrace();}   return "data:Testing 1,2,3" + r.nextInt() +"\n\n";}}

2 演示页面

<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<%@ page language="java" contentType="text/html; charset=UTF-8"pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>SSE Demo</title>
</head>
<body>
<div id="msgFrompPush"></div>
<script type="text/javascript" src="<c:url value="assets/js/jquery.js" />"></script>
<script type="text/javascript">if (!!window.EventSource) { //EventSource对象只有新式的浏览器才有(Chrome、Firefox)等,EventSource是SSE的客户端var source = new EventSource('push');s='';//添加SSE客户端监听,在此获得服务器端推送的消息source.addEventListener('message', function(e) {s+=e.data+"<br/>";$("#msgFrompPush").html(s);});source.addEventListener('open', function(e) {console.log("连接打开.");}, false);source.addEventListener('error', function(e) {if (e.readyState == EventSource.CLOSED) {console.log("连接关闭");} else {console.log(e.readyState);   }}, false);} else {console.log("你的浏览器不支持SSE");}
</script>
</body>
</html>

三 配置

添加转向sse.jsp页面的映射:

    @Overridepublic void addViewControllers(ViewControllerRegistry registry) {registry.addViewController("/sse").setViewName("/sse");}

四 实战

浏览http://localhost:8080/highlight_springmvc4/sse

 

 


http://chatgpt.dhexx.cn/article/rqbfjiFA.shtml

相关文章

java web 服务器推送技术--comet4j

1、背景 首先实现服务器推送技术一直一来是B/S应用开发的一块难题&#xff0c;因为是基于HTTP协议的&#xff0c;HTTP协议为无状态&#xff0c;单向性的协议&#xff0c;即&#xff0c;必须由客户端发起一个请求建立连接&#xff0c;服务器接收请求&#xff0c;把数据返回给客…

服务器之间数据文件推送,数据库数据推送到另外服务器

数据库数据推送到另外服务器 内容精选 换一换 该方案优点是简单,容易上手,缺点是停机时间较长。因此它适用于数据量不大,或者允许停机的时间较长,并且在这个时间范围内能够完成的数据。由于云数据库RDS服务提供的服务与原来的数据库服务是完全兼容的,所以对于用户来说,从…

服务器推送技术之短轮询、长轮询、SSE和Websocket

服务器推送技术 服务器推送技术干嘛用&#xff1f;就是让用户在使用网络应用的时候&#xff0c;不需要一遍又一遍的去手动刷新就可以及时获得更新的信息。大家平时在上各种视频网站时&#xff0c;对视频节目进行欢乐的吐槽和评论&#xff0c;会看到各种弹幕&#xff0c;当然&a…

【JavaWeb】小白也能看懂的服务器推送技术(WebSocket和SSE)

一.什么是消息推送 推送的场景比较多&#xff0c;比如有人关注我的公众号&#xff0c;这时我就会收到一条推送消息&#xff0c;以此来吸引我点击打开应用。 消息推送(push)通常是指网站的运营工作等人员&#xff0c;通过某种工具对用户当前网页或移动设备APP进行的主动消息推送…

服务器推送技术

目录 1.前序 2.Ajax短轮询 3.Ajax长轮询 4.SSE 5.WebSocket 6.总结 1.前序 服务器推送技术&#xff1a;不用用户刷新发出请求&#xff0c;服务器主动发送实时信息到客户端。 因为HTTP协议是无状态&#xff0c;单向性的协议。 无状态是说客户端每一次请求都是全新的&…

网络编程五-服务器推送技术

目录 一、服务器推送技术 1、服务器推送技术的兴起 2、应用场景 二、Ajax短轮询 1、定义 2、特点 三、Comet 3.1 AJAX 的长轮询 1、定义 2、特点 3.2 SSE 1、定义 2、特点 四、WebSocket通信 1、什么是webSocket 2、特点 3、WebSocket通信握手 4、WebSocket通…

SecureFx连接Linux系统乱码

最近用SecureFx连接Ubuntu时&#xff0c;出现乱码&#xff0c;经过一番查询资料和实验最终得以解决&#xff0c;希望对大家有所帮助。 1、在选项中设置字符编码为UTF-8 Options -- Session Options -- Teminal -- Appearance 2、在选项的全局选项中找到Securefx的配置文件 Opt…

SecureCRT和SecureFx的使用

SecureCRT和SecureFx的使用 1.SecureCRT和SecureFx登陆中文乱码2.SecureFX打开两个窗口&#xff0c;即本地窗口和远程窗口 1.SecureCRT和SecureFx登陆中文乱码 SecureCRT与SecureFX的常规选项里面已经设置成了UTF-8&#xff0c;但是在SecureCRT中新建的中文文件夹&#xff0c;…

SecureCRT SecureFX中文乱码修改问题

1、一般解决方法&#xff1a;修改UFT-8 选项--会话选项--外观--字符编辑--选择UFT-8--确定【有可能需要重启一下CRT】 2、配置文件修改【好用】&#xff1a; 选项--全局选项--常规--配置文件夹【复制配置文件夹路径&#xff0c;选择要修改的ini文件】 将UTF8"00000000修改…

SecureFX传输速度一直是0

今天学往Linux里传jdk和tomcat时发现传输速度一直不动&#xff0c;检查了Linux的网络连接&#xff0c;也正常&#xff0c;如图&#xff1a; 而且连接ip也对&#xff0c;最后突然想到了权限问题&#xff0c;发现自己登录的不是root用户&#xff0c;又败给了自己...

安装SecureCRT和SecureFX踩过得坑

1.下载 给大家提供两种下载途径吧 1.官网可以下载到最新版的&#xff0c;弊端呢就是需要用邮箱注册一下&#xff0c;登录后才能下载&#xff0c;只有三十天的试用期&#xff0c;如果想长久使用的话还得破解一下&#xff0c;稍微的麻烦一丢丢。 2.https://pan.baidu.com/s/18OZ…

SecureFX之激活教程

SecureCRT激活请参考另一篇文章&#xff1a;SecureCRT激活教程 SecureFX激活教程开始&#xff1a; 步骤1&#xff1a;把激活软件放到该软件的安装目录下&#xff1a;&#xff08;如果找不到安装目录&#xff0c;找到该软件的桌面快捷方式&#xff0c;鼠标右键-----打开文件位…

SecureFx设置密钥登陆

SecureFx设置密钥登陆: 工具,创建公钥下一步密钥类型选RSA 为了更安全&#xff0c;可以设置通行短语 7、将identity.pub上的公钥放到服务器上 ①创建目录 /root/.ssh 并设置权限 [rootlocalhost ~]# mkdir /root/.ssh &#xff08;mkdir 命令来创建目录&#xff09; [ro…

解决SecureFX中文乱码的方法

SecureFX出现乱码&#xff0c;解决办法 1.点击Options选项&#xff0c;选择Global Options 2.点击打开Global Options窗口之后&#xff0c;在左边的General选项下方找到Configuration Path并点击&#xff0c;然后在右边找到路径并将它复制下来&#xff0c;如下图中所示。 3.路径…

解决SecureFX无法连接linux服务器

场景描述&#xff1a; 使用SecureFX无法连接linux服务器。 显示&#xff1a;由于目标计算机积极拒绝&#xff0c;无法连接 但使用它的配套软件SecureCRT&#xff0c;却可以进行连接。 问题分析&#xff1a; 既然CRT可以连接&#xff0c;说明Linux服务器本身是没有问题&#…

SecureFX_CRT安装

SecureFX_CRT_9安装和注册 SecureFX_CRT_9下载地址&#xff1a;暂时没放上去&#xff0c;最近有点忙&#xff0c;之后再完善下 一、安装 运行SecureFX_CRT安装程序,安装完之后先注册再运行程序 二、注册 注册SecureFX 1、进入安装的目录&#xff08;我的安装目录是…

SecureCRTSecureFX Portable远程连接Linux;上传下载文件

SecureCRT和SecureFX都是由VanDyke出品的SSH传输工具。 SecureCRT是一款非常好用的、支持多标签的SSH客户端&#xff0c;极大方便了管理多个SSH会话。 SecureFX则是一款专业而灵活、支持安全文件传输的SFTP客户端&#xff0c;也支持SCP、SSL等安全协议、以及传统的FTP协议。另…

SecureCRT$SecureFX的安装方法

SecureCRT$SecureFX的安装方法 SecureCRT$SecureFX下载地址 链接&#xff1a;https://pan.baidu.com/s/1SskwXkD6Cc1JKhvcQUIAIw 提取码&#xff1a;n1ql 安装过程 下载完成后&#xff0c;并解压SecureCRT&SecureFX Version.rar 运行安装程序scrt-sfx-x64.9.1.1.2638.…

SecureCRT和SecureFX

1.SecureCRT & SecureFX 介绍 1.1 SecureCRT SecureCRT 是一款终端仿真软件&#xff0c;和 Putty 的功能类似。 不过相比Putty比较简单的功能&#xff0c;SecureCRT 软件还是有许多的优势。比如可以一次创建多个 Tab Page&#xff0c;连接多台远程主机&#xff1b; Butto…

secureCRT及secureFX配置

secureCRT及secureFX配置 secureCRT安装卸载调节字体中文乱码 secureFX展示带.的文件展示带.的文件显示文件夹树右半边详细信息不见了 参考链接 secureCRT 安装 因为是需要注册的一般需要网上的注册码,可以用的,但是没有secureFX 见下链接 也可以直接去网上找那些自带改注册…