第一个坑是"连接被服务端静默关闭后,客户端还在用旧连接"。 典型报错是 Connection reset by peer 或 Unexpected EOF 。 原因是服务端的 keep-alive 超时比客户端短,服务端已经关闭了连接,客户端池里还留着这条"死连接",等到真正发请求时才发现连不上。
第三段是 Caused by: java.net.SocketTimeoutException: Read timed out ,这才是真正的底层原因。 Read timed out 表示 TCP 连接已经建立,客户端发了请求,服务端在规定时间内没有回任何数据,于是驱动放弃等待。这个异常和 SocketException: Connection reset 不一样,跟 Connection ...
Some results have been hidden because they may be inaccessible to you
Show inaccessible results