0.场景还原
最近许多用户说客户端登录失败,打开日志发现gRPC存根stub在调用接口错误,返回Deadline Exceeded,stub在调用接口时可以指定grpc::ClientContext,来规定超时时间,代码如下:
// 设置超时时间
grpc::ClientContext context;
gpr_timespec ts;
ts.tv_sec = 10;
ts.tv_nsec = 0;
ts.clock_type = GPR_TIMESPAN;
context.set_deadline(ts);
m_stub->rpcFunc(&context, request, reply);
返回Deadline Exceeded说明gRPC在调用函数时,10s没有返回结果。
1.请求到底发出去了没有?
下载tcping.exe 放在c:\WINDOWS\system32目录下 tcping -t IP Port 观察本地是否能连的上服务器的端口,Port is open说明能正常连接
PS C:\WINDOWS\system32> tcping -t 14.215.177.39 80
** Pinging continuously. Press control-c to stop **
Probing 14.215.177.39:80/tcp - Port is open - time=40.968ms
Probing 14.215.177.39:80/tcp - Port is open - time=44.627m