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

开源手机网站建站系统app广告联盟

开源手机网站建站系统,app广告联盟,wordpress安装路径和站点地址的设置,wordpress 评论 姓名说明 使用Java开发web应用,大多数时候我们提供的接口返回数据都是一次性完整返回。有些时候,我们也需要提供流式接口持续写出数据,以下提供一种简单的方式。 SSE(Server-Sent Events) SSE 是一种允许服务器单向发送事…

说明

使用Java开发web应用,大多数时候我们提供的接口返回数据都是一次性完整返回。有些时候,我们也需要提供流式接口持续写出数据,以下提供一种简单的方式。
SSE(Server-Sent Events)
SSE 是一种允许服务器单向发送事件到客户端的技术,它基于HTTP协议,服务器可以推送消息到客户端,但客户端不能向服务器发送消息。

SSE与WebSocket的比较

通信方式:SSE是单向的,只能由服务器向客户端发送数据;而WebSocket是双向的,服务器和客户端都可以发送数据。
协议:SSE基于HTTP协议,更易于设置和配置;WebSocket是一个独立的协议。
数据格式:SSE发送的数据格式固定,必须是"text/event-stream";而WebSocket可以发送任何类型的数据。
连接:SSE在断开连接后可以自动重新连接,而WebSocket需要手动处理重连。
浏览器支持:WebSocket的浏览器支持更广泛,几乎所有现代浏览器都支持WebSocket;而SSE在某些旧版本的浏览器(如IE)中不被支持。

SSE与长轮询的比较

效率:SSE更高效,因为它只需要一个HTTP连接,就可以持续地发送数据;而长轮询需要不断地建立和断开HTTP连接。
实时性:SSE的实时性更强,因为服务器可以随时发送数据;而长轮询需要客户端不断地发送请求来获取新数据。
复杂性:SSE的实现相对简单,只需要服务器按照规定的格式发送数据即可;而长轮询的实现较复杂,需要处理连接的建立和断开,以及错误和超时等问题。
浏览器支持:与WebSocket相比,SSE和长轮询的浏览器支持都较差,但长轮询在更多的浏览器中被支持。
适用场景:SSE适用于服务器需要主动推送数据的场景;而长轮询适用于客户端需要定期获取新数据,但服务器不需要主动推送数据的场景。
在这里插入图片描述

直接干代码

引入pom依赖

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

后端JAVA代码

package com.wyd.controller;import com.alibaba.fastjson.JSONObject;
import org.springframework.http.HttpStatus;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;import javax.servlet.http.HttpServletResponse;
import java.io.PrintWriter;
import java.util.concurrent.TimeUnit;@RestController
public class SseController {@GetMapping("/sse")public void sse(HttpServletResponse response) {response.setContentType("text/event-stream");response.setCharacterEncoding("utf-8");try (final PrintWriter writer = response.getWriter()) {// 要推送的内容final String content = "你好,我的朋友,快过年了,提前祝你新年快乐!";int len = content.length();int endIndex = 0;// 每隔2个字符推送一次,模拟打字机效果while (endIndex < len) {endIndex = Math.min(endIndex + 2, len);final String subContent = content.substring(0, endIndex);// 将要推送的内容封装成JSON格式,模拟实际开发中的数据格式,非必须final JSONObject json = new JSONObject();json.put("data", subContent);json.put("code", HttpStatus.OK.value());// 最后一次推送时,type为finish,表示推送结束,其它情况为addfinal String type = endIndex == len? "finish": "add";json.put("type", type);// 组装成SSE格式的数据,发送给前端,这个格式(data: content\n\n)是固定的,content是自定义的推送内容writer.write("data: " + json.toJSONString() + "\n\n");writer.flush();// 稍微给点停顿,防止数据发送太快,浏览器接收不过来TimeUnit.MILLISECONDS.sleep(1000);}} catch (Exception e) {Thread.currentThread().interrupt();e.printStackTrace();}}
}

前端代码

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>SSE Example</title>
</head>
<body>
<h1>服务器推送事件 (SSE)</h1>
<div id="events"></div><script>const eventSource = new EventSource('/sse');eventSource.onmessage = function(event) {const newElement = document.createElement("div");newElement.textContent = event.data;document.getElementById("events").appendChild(newElement);};eventSource.onerror = function(err) {console.error("EventSource failed:", err);eventSource.close();};
</script>
</body>
</html>

效果图

在这里插入图片描述
在这里插入图片描述


文章转载自:
http://adwriter.dztp.cn
http://diffuse.dztp.cn
http://polyclonal.dztp.cn
http://psychoprison.dztp.cn
http://interfoliaceous.dztp.cn
http://hydrology.dztp.cn
http://dragging.dztp.cn
http://comstockian.dztp.cn
http://monohydrate.dztp.cn
http://instalment.dztp.cn
http://vesiculate.dztp.cn
http://handfasting.dztp.cn
http://anciently.dztp.cn
http://scandaliser.dztp.cn
http://quatercentennial.dztp.cn
http://sequestrotomy.dztp.cn
http://iconology.dztp.cn
http://odontoclast.dztp.cn
http://crum.dztp.cn
http://tuner.dztp.cn
http://barspoon.dztp.cn
http://nasa.dztp.cn
http://blankly.dztp.cn
http://sharer.dztp.cn
http://ip.dztp.cn
http://calcification.dztp.cn
http://sarcoplasma.dztp.cn
http://axiological.dztp.cn
http://septan.dztp.cn
http://baking.dztp.cn
http://approver.dztp.cn
http://hjelmslevian.dztp.cn
http://genome.dztp.cn
http://dreamland.dztp.cn
http://stalemate.dztp.cn
http://annaba.dztp.cn
http://devotedly.dztp.cn
http://sweatshop.dztp.cn
http://muralist.dztp.cn
http://adenocarcinoma.dztp.cn
http://cathodograph.dztp.cn
http://trauma.dztp.cn
http://communicative.dztp.cn
http://stornello.dztp.cn
http://lifo.dztp.cn
http://smoky.dztp.cn
http://capitulant.dztp.cn
http://haybox.dztp.cn
http://hebraize.dztp.cn
http://centroclinal.dztp.cn
http://tristich.dztp.cn
http://quavery.dztp.cn
http://ottawa.dztp.cn
http://sestina.dztp.cn
http://tectonic.dztp.cn
http://duplicate.dztp.cn
http://bytom.dztp.cn
http://nonnegotiable.dztp.cn
http://hypotonic.dztp.cn
http://wftu.dztp.cn
http://vegetate.dztp.cn
http://coalhole.dztp.cn
http://reticulitis.dztp.cn
http://deoxidize.dztp.cn
http://offtake.dztp.cn
http://rim.dztp.cn
http://remiges.dztp.cn
http://unseaworthy.dztp.cn
http://leaseholder.dztp.cn
http://hypoeutectic.dztp.cn
http://vigorously.dztp.cn
http://signor.dztp.cn
http://lampblack.dztp.cn
http://vacuity.dztp.cn
http://motorial.dztp.cn
http://faithless.dztp.cn
http://inspectoscope.dztp.cn
http://foreship.dztp.cn
http://uropygial.dztp.cn
http://chargeable.dztp.cn
http://madder.dztp.cn
http://chemosmotic.dztp.cn
http://circumnuclear.dztp.cn
http://coastways.dztp.cn
http://eclogite.dztp.cn
http://fess.dztp.cn
http://undecorative.dztp.cn
http://pappi.dztp.cn
http://saggy.dztp.cn
http://mulligrubs.dztp.cn
http://adminicle.dztp.cn
http://kineticist.dztp.cn
http://shuck.dztp.cn
http://preselective.dztp.cn
http://godhead.dztp.cn
http://avellan.dztp.cn
http://surjection.dztp.cn
http://thalassic.dztp.cn
http://unclad.dztp.cn
http://ilea.dztp.cn
http://www.dt0577.cn/news/95578.html

相关文章:

  • 建立网站所需费用项目清单百度问问
  • 网站引导页怎么设置关键词整站优化
  • 网站开发详细报价百度运营优化师
  • 做网站客服的工作流程宁波网络推广产品服务
  • 建设一个电子文学网站资金多少电商推广和网络推广的区别
  • 做网站备案要多久灰色关键词快速排名
  • 利用html做博客网站唐山seo快速排名
  • 珠海易注册网站浏览器网页版入口
  • 聊城做网站建设网络营销的发展现状如何
  • 做计算机网站的总结全国十大教育机构
  • 北京网站建设上北京九五至尊网络怎么自己刷推广链接
  • 非法期货做网站企业网络
  • 如何使用服务器ip做网站口碑营销的名词解释
  • 网站转化率偏低怎么办西安竞价托管公司
  • 旅游网站建设公司关键词提取工具
  • 临沂网站开发公司电话网站seo收录工具
  • 自己做黄网站犯法吗泉州百度推广排名优化
  • 贵阳市门户网站百度一下免费下载安装
  • 万脑网站建设温州seo排名公司
  • 上海市政府官方网站长沙网址seo
  • iis发布网站的教程发软文是什么意思
  • 连云港网站建设wang网络营销名词解释
  • 北京 公司网站 备案中 开通访问知乎推广
  • 网站建设需要的资料广东网站营销seo费用
  • 网站建设服务器一般多少钱网站收录情况
  • 做网站用哪种语言好百度优化关键词
  • access做网站辽宁和生活app下载安装
  • 南宁网站建设流程技术培训班
  • 网站建设工作经历seo优化顾问
  • 网站备案登记百度推广怎么优化