【问题标题】:How to continue stream if client is restart in GRPC Server Side Streaming?如果客户端在 GRPC 服务器端流中重新启动,如何继续流?
【发布时间】:2020-10-07 08:06:42
【问题描述】:
    @Override
    public void response(RequestApp request, Grpc.Stub asyncStub) {

        StreamObserver<Dto> streamObserver = new StreamObserver<Dto>() {
            @Override
            public void onNext(Response response) {
                LOGGER.info("Response is received.");
            }

            @Override
            public void onError(Throwable thrwbl) {
                LOGGER.error("Get error.");
            }

            @Override
            public void onCompleted() {
                LOGGER.info("Stream is completed.");
            }
        };

        asyncStub.method(request, streamObserver);
}

Grpc 客户端代码与上面相同。这里有服务器端流。如果客户端重启,服务器端流启动后,如何继续这个流?

【问题讨论】:

    标签: java stream grpc server-side stub


    【解决方案1】:

    如果连接因任何原因丢失,您将无法恢复正在进行的流。如果您希望服务器从数据流中的前一个点开始发送数据,您可以让客户端在请求中包含一个令牌,服务器可以使用该令牌作为开始位置的指示。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-07-02
      • 2019-01-03
      • 2021-05-14
      • 2023-03-18
      相关资源
      最近更新 更多