如果 grpc
的客户端是阻塞式请求,那么默认是没有超时设置,会一直等待:
grpc::ClientContext oCtx;
oStatus = poStub->Echo(&oCtx, echoRequest, &echoResponse);
官方文档:gRPC and Deadlines
设置超时:
unsigned int client_connection_timeout = 5;
ClientContext context;
// Set timeout for API
std::chrono::system_clock::time_point deadline =
std::chrono::system_clock::now() + std::chrono::seconds(client_connection_timeout);
context.set_deadline(deadline);
关于grpc
与protobuf
的安装和使用,参考这篇博客:grpc与protobuf最佳实践
文档信息
- 本文作者:last2win
- 本文链接:https://last2win.com/2020/03/06/grpc-timeout-cpp/
- 版权声明:自由转载-非商用-非衍生-保持署名(创意共享3.0许可证)