【发布时间】:2021-04-22 13:01:33
【问题描述】:
我正在尝试让服务器发送的事件与 Mozilla Firefox 一起使用。给定一个 Spring Boot 网络服务,如
@GetMapping(path = "/timestamps", produces = MediaType.TEXT_EVENT_STREAM_VALUE)
public Flux<String> timestamps() {
return Flux.interval(Duration.ofSeconds(1))
.map(sequence -> LocalTime.now().toString());
}
使用 Chrome 浏览器或 Edge(总是最新版本)可以正常工作。我可以在网络分析器选项卡中看到一个未完成的请求,并且每秒都会显示一个新的时间戳。
但是,当我使用 Firefox(84.0.2 或更早版本)时,请求也显示在网络选项卡中,但没有显示响应标头或流数据。 当我终止 Spring 后端时,Firefox 会弹出一个对话框来保存包含请求内容的文件,但失败了,因为后端已经终止。
在我看来,后端缺少某种flush()。
任何人都可以通过 FF、Spring Webflux 和 SSE 确认或否认此类行为吗?
【问题讨论】:
标签: firefox spring-webflux server-sent-events