【问题标题】:Spring Webflux, Server Sent Events & FirefoxSpring Webflux、服务器发送事件和 Firefox
【发布时间】: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


    【解决方案1】:

    问题解决了。它是 Sophos Antivirus Web Safety,它扫描并阻止了 http 流量。切换到 https - Sophos 无法再扫描 - 或禁用 Web Safety 解决了这个问题。

    【讨论】:

      猜你喜欢
      • 2019-10-19
      • 2019-01-26
      • 1970-01-01
      • 1970-01-01
      • 2019-02-09
      • 2020-11-22
      • 2020-07-25
      • 2020-10-04
      • 2012-04-22
      相关资源
      最近更新 更多