【发布时间】:2018-08-22 21:32:08
【问题描述】:
我正在使用 Grpc 的同步 C++ API 通过需要无限期保持打开的双向流发送消息。
现在,如果我拉动服务器和客户端之间的电缆,则该流上的 Write 和 Read 调用将在双方阻塞大约 15 分钟,然后返回 false。
如何将Read和Write的超时设置为小于15分钟?
我正在启动服务器:
ServerBuilder srvBuilder;
srvBuilder.AddChannelArgument(GRPC_ARG_KEEPALIVE_TIME_MS, 2000);
srvBuilder.AddChannelArgument(GRPC_ARG_KEEPALIVE_TIMEOUT_MS, 1000);
srvBuilder.AddChannelArgument(GRPC_ARG_HTTP2_BDP_PROBE, 1);
srvBuilder.AddChannelArgument(GRPC_ARG_MAX_CONNECTION_IDLE_MS , 1000);
srvBuilder.AddListeningPort("0.0.0.0:50505", grpc::InsecureServerCredentials());
srvBuilder.RegisterService(&testService);
在 Ubuntu 16.04 LTS 上使用 Grpc 1.10.0
【问题讨论】: