---------------------------------------------------------------------------------------------------------------
Java Exception 异常信息查询,查异常网 查找开发中遇到的各种异常问题:http://www.findexception.com/
---------------------------------------------------------------------------------------------------------------------------------
java.net.SocketException: Software caused connection abort: recv failed
at java.net.SocketInputStream.socketRead0(Native Method)
at java.net.SocketInputStream.read(SocketInputStream.java:129)
at java.net.SocketInputStream.read(SocketInputStream.java:182)
发生这个异常,从异常提示看是由于程序引起的,而非网络方面的原因,引发该异常的
场景之一:
客户机<-->服务器,之间是由一个socket 长连接来通信,客户端有一个接收线程在while(true){..}循环里不停地从InputStream流中读数据,客户机每隔几秒钟发一次心跳包至服务端,如果连续未收到心跳包响应的次数已达到规定的次数,客户机认为此链路异常,将socket关闭,那么服务器会抛出java.net.SocketException: Connection reset by peer异常,然后分配给此socket连接的线程退出,那么客户端在while(true){..}循环,读取流时便会发java.net.SocketException:Software caused connection abort: recv failed异常。
本文探讨了 Java 中 Socket 异常 java.net.SocketException 的具体原因及场景,特别是当客户端与服务器之间的长连接通信出现问题时,如何定位和解决 Softwarecausedconnectionabort:recvfailed 这一异常。
4514

被折叠的 条评论
为什么被折叠?



