RPC 是建立在 TCP 协议基础上进行消息传递,而 TCP 连接并不总是稳定的,它会受到网络波动的影响而导致连接断开。同时大部分服务器也会限制****空闲连接的生存期,如果一个 TCP 连接闲置过久,也会被服务器主动关闭。如果这个 RPC 是以手机作为客户端发起的请求,那么这种连接断开的情况就更为频繁,用户的网络切换行为随时都会引发连接断开。
这里的客户端异常断开情况很多,比如从流量上网成Wifi上网,因为网卡不同,所以需要重连。
因此面对客户端异常复杂的环境,服务端一般都要限制空闲连接过长。