提问人:Ozturk 提问时间:10/7/2020 更新时间:10/8/2020 访问量:863
如果客户端在 GRPC 服务器端流中重新启动,如何继续流?
How to continue stream if client is restart in GRPC Server Side Streaming?
问:
@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 客户端代码如上所述。这里有服务器端流。如果客户端重启,服务器端启动后,如何继续这个流?
答:
1赞
Doug Fawley
10/8/2020
#1
如果连接因任何原因丢失,则无法恢复正在进行的流。如果希望服务器从数据流中的上一个点开始发送数据,则可以让客户端在请求中包含一个令牌,服务器可以使用该令牌来指示从哪里开始。
评论