用于停止数据流的客户端到服务器通信

Client to server communication for stopping data streaming

提问人:Naga 提问时间:10/30/2023 最后编辑:Mark RotteveelNaga 更新时间:10/30/2023 访问量:20

问:

这是我的场景:

  1. 服务器使用 WebFlux 生成无穷无尽的数据和流。
  2. 客户端使用 WebClient 开发,在满足某些条件后,客户端希望服务器停止流数据以避免进一步的数据泄露。

输入流:Flux.range(1,1000) customer。
客户端:如果值为 customer 为 7,则客户端不需要任何输入数据。这意味着服务器必须停止流数据。

在客户端,我是这样编码的:

flux.takeUntil(this::processResponse).subscribe();

private boolean processResponse(Customer customer) {
    boolean foundData = false;
    System.out.println(customer.getCustomer());
    if (customer.getCustomer().equals("customer7")) {
        foundData = true;
    }
    return  foundData;
}

我注意到服务器仍在发送数据,即使客户端不再需要它。

spring-webflux 反应式

评论

0赞 Igor Artamonov 10/30/2023
这完全取决于沟通渠道。一旦你有了数据,你就应该关闭频道。

答: 暂无答案