SSE(Server Sent Event) 踩坑留念

embedded/2024/9/23 12:20:42/

在这里插入图片描述
整条链路是

客户端A --> 服务端 A —> 服务端 B

我负责服务端 A
此时要注意 @Client 中的 processes 的写法

@Post(value = “/v2/xx”, processes = MediaType.TEXT_EVENT_STREAM)
这样写是一直报错的

改成下面的写法才可以

@Post(value = “/v2/xx”, processes = MediaType.APPLICATION_JSON_STREAM)

原因如下

text/event-stream is the official media type for Server Sent Events (SSE); it will prefix data bits with a data: prefix and you can also choose your prefix to change the meaning of that piece of data for the client. This media type is for browsers, as they support that using the EventSource JavaScript API.

application/stream+json is for server to server/http client (anything that’s not a browser) communications. It won’t prefix the data and will just use CRLF to split the pieces of data. Note that the Spring team is reconsidering that media type, because SPR-16742 (don’t hesitate to comment there!).

译文如下

text/event-stream 是服务器发送事件(SSE)的官方媒体类型;它会在数据位前加上 data: 前缀,你也可以选择你的前缀来改变该数据对客户端的意义。这种媒体类型适用于浏览器,因为它们使用 EventSource JavaScript API 支持这种类型。

application/stream+json 用于服务器到服务器/http 客户端(非浏览器的任何设备)的通信。它不会在数据前加前缀,只会使用 CRLF 分割数据块。请注意,由于 SPR-16742 的原因,Spring 团队正在重新考虑这种媒体类型(请随时发表评论!)。


http://www.ppmy.cn/embedded/43613.html

相关文章

HNU-人工智能-作业3

人工智能-作业3 计科210X 甘晴void 202108010XXX 1.贝叶斯网络 根据图所给出的贝叶斯网络,其中:P(A)0.5,P(B|A)1, P(B|A)0.5, P(C|A)1, P(C|A)0.5,P(D|BC)1,P(D|B, C)0.5&#xff…

国内快速下载hugging face大模型的方法

由于众所周知的原因,从hugging face下载大模型比较困难,幸好国内有人做了镜像站,可以通过国内的镜像站进行快速下载,以下是配置方法。 我的系统是ubuntu 22,这里记录的方法只对debian/ubuntu有效。 git-lfs/INSTALLI…

Linux系统之GoAccess实时Web日志分析工具的基本使用

Linux系统之GoAccess实时Web日志分析工具的基本使用 一、GoAccess介绍1.1 GoAccess简介1.2 GoAccess功能1.3 Web日志格式 二、本地环境介绍2.1 本地环境规划2.2 本次实践介绍 三、检查本地环境3.1 检查本地操作系统版本3.2 检查系统内核版本3.3 检查系统镜像源3.4 更新软件列表…

coredump文件生成配置

1.打开coredump文件生成开关 查看开关是否打开:ulimit -a 如果core file size 为0,则为关闭。 执行:ulimit -c 10240 将其coredump文件大小设置。 2.coredump文件保存位置: /proc/sys/kernel/core_pattern文件可以控制core文…

C++网络编程——实现一个简单的echo服务器

在前面讲完了服务器从建立套接字、绑定、监听和提取,以及客户端的连接,我们已经可以动手实现一个简单的镜像服务器。 错误处理 在那之前,我们先封装一个错误处理函数 errif 可以定义一个uitl.cpp放里面,需要的地方引用即可 ut…

Redis 事件机制 - AE 抽象层

Redis 服务器是一个事件驱动程序,它主要处理如下两种事件: 文件事件:利用 I/O 复用机制,监听 Socket 等文件描述符上发生的事件。这类事件主要由客户端(或其他Redis 服务器)发送网络请求触发。时间事件&am…

计算机网络路由协议之内部网关协议RIP例题与详解

互联网的路由选择协议 路由器转发表的路由协议如何得出呢? 使用路由算法进行,路由算法可以分为两类: 静态路由选择策略和动态路由选择策略。 静态路由选择策略: 非自适应路由选择,人工配置每一条路由。 动态路由选…

【webrtc】rtp扩展:绝对发送时间、绝对采集时间、时间戳插值

WebRTC RTP 标头扩展审查绝对发送时间和绝对采集时间,二者是不同的当没有打开绝对采集时间戳的扩展时,webrtc依旧会使用AbsoluteCaptureTimeInterpolator 在接收测估算 绝对采集时间戳。Absolute Send Time 带宽估计算法用 The Absolute Send Time extension is used to stam…