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

北京网站快速备案河南百度推广代理商

北京网站快速备案,河南百度推广代理商,旧版百度网址大全下载,网站建设的设计方案文章目录1、推送-SseEmitter2、接收-EventSourceListenerSSE(Server-Sent Events,服务器推送事件)是一种基于HTTP的服务器向客户端实时推送数据的技术标准。1、推送-SseEmitter SseEmitter用于实现服务器向客户端单向、长连接的实时数据推送…

文章目录

  • 1、推送-SseEmitter
  • 2、接收-EventSourceListener

SSE(Server-Sent Events,服务器推送事件)是一种基于HTTP的服务器向客户端实时推送数据的技术标准。

1、推送-SseEmitter

SseEmitter用于实现服务器向客户端单向长连接的实时数据推送。
比如用于大模型机器人回答推送给前端(逐字逐词显示)

作为服务端,使用.send()方法发送数据,.complete()方法完成并结束连接,简单示例:

import org.springframework.web.servlet.mvc.method.annotation.SseEmitter;@GetMapping("/test")
public SseEmitter test() {SseEmitter emitter = new SseEmitter(30_000L); // 超时时间设为30秒ExecutorService executor = Executors.newSingleThreadExecutor();// 模拟异步数据推送executor.execute(() -> {try {for (int i = 0; i < 10; i++) {emitter.send("Event " + i); // 发送数据Thread.sleep(1000);}emitter.complete(); // 正常结束} catch (Exception e) {emitter.completeWithError(e); // 异常终止}});return emitter;
}

2、接收-EventSourceListener

可以使用js接收sse事件流,当然如果是后端接口,也可以用java接收,使用EventSourceListener处理从服务器端通过 SSE(Server-Sent Events)推送的事件流。
在EventSourceListener中覆写onEvent方法,onEvent方法在每次服务器推送新事件时调用;

import okhttp3.OkHttpClient;
import okhttp3.Request;
import okhttp3.RequestBody;
import okhttp3.Response;
import okhttp3.sse.EventSource;
import okhttp3.sse.EventSourceListener;
import okhttp3.sse.EventSources;public void listenTest(String url, String param){OkHttpClient client = new OkHttpClient.Builder().connectTimeout(5, TimeUnit.MINUTES).readTimeout(5, TimeUnit.MINUTES).build();RequestBody formBody = RequestBody.create(okhttp3.MediaType.parse("application/json; charset=utf-8"), param);Request request = new Request.Builder().post(formBody).url(url).build();EventSourceListener listener = new EventSourceListener() {// 连接建立时触发,非必须@Overridepublic void onOpen(EventSource eventSource, Response response) {System.out.println("SSE连接已建立");System.out.println("响应头: " + response.headers());}// 收到消息时触发@Overridepublic void onEvent(EventSource eventSource, String id, String type, String data) {//在这里对推送过来的数据做解析和处理System.out.printf("收到事件: id=%s, type=%s, data=%s\n", id, type, data);}// 连接关闭时触发@Overridepublic void onClosed(EventSource eventSource) {System.out.println("SSE连接已关闭");}// 发生错误时触发(包括网络错误和协议错误)@Overridepublic void onFailure(EventSource eventSource, Throwable t, Response response) {System.err.println("SSE错误: " + t.getMessage());if (response != null) {System.err.println("错误响应码: " + response.code());}eventSource.cancel();//关闭连接}}EventSource.Factory factory = EventSources.createFactory(client);factory.newEventSource(request, listener);
}
http://www.dtcms.com/wzjs/65301.html

相关文章:

  • 多语言外贸网站设计中国新冠疫苗接种率
  • 做网站推广的工作内容app线上推广是什么工作
  • 浙江住房城乡建设厅网站网站怎样关键词排名优化
  • 东莞建站模板后台百度一下你就知道了 官网
  • 微信如何建商城网站如何做网站优化seo
  • 网站开发语音占比如何做一个自己的电商平台
  • 亚洲做性视频网站临沂seo公司稳健火星
  • 网络营销专员岗位职责seo网络推广排名
  • 帝国cms做下载网站郑州抖音推广
  • 济南seo怎么优化安徽seo推广
  • 伊宁市住房与城乡建设局网站宁波网站推广公司报价
  • 建电商网站东莞网站建设推广品众
  • 网站建设的一般费用搜索引擎优化实训心得
  • 专门做折扣的网站100条经典广告语
  • 产品做网站推广怎么注册电商平台
  • 返利网网站怎么做浙江seo公司
  • 做笔记网站网站推广策略有哪些
  • 西安网站开发重庆seo网站运营
  • 制作网页的工具是什么自己如何优化网站排名
  • 东莞网站设计与网站制作seo网站课程
  • 网站推广公司官网关于普通话的手抄报
  • 建立个人网站的目的电商广告网络推广
  • 烟台网站建设力荐企汇互联见效付款网站的设计流程
  • 天津网站建设案例怎么学互联网怎么赚钱
  • 长沙大型网站建设公司知名品牌营销策略
  • 郑州网站制作_郑州网页制作_做网站设计_河南网站制作网网店如何营销推广
  • 兰州网站推广手机网站建设
  • 广州做网站公司培训小红书搜索关键词排名
  • 网站编辑做的准备网站域名查询ip
  • 上海企炬做的网站南京谷歌推广