java.net.SocketException: Connection reset 异常处理

场景描述:客户端通过socket访问远程服务器,执行命令时抛异常,  java.net.SocketException: Connection reset 

分析:使用socket访问服务端数据时,当服务端认为已经返回全部的结果后,会主动关闭socket,此时客户端再从socket读数据会抛异常。

 

处理办法:

1.客户端可准确识别返回内容结束标志时,读取全部数据后主动关闭连接。

2.客户端无法准确识别返回内容结束标志时,捕获异常,忽略掉。

 

异常描述:

at java.net.SocketInputStream.read(SocketInputStream.java:210)

at java.net.SocketInputStream.read(SocketInputStream.java:141)

at sun.nio.cs.StreamDecoder.readBytes(StreamDecoder.java:284)

at sun.nio.cs.StreamDecoder.implRead(StreamDecoder.java:326)

at sun.nio.cs.StreamDecoder.read(StreamDecoder.java:178)

at java.io.InputStreamReader.read(InputStreamReader.java:184)

at java.io.BufferedReader.fill(BufferedReader.java:161)

at java.io.BufferedReader.readLine(BufferedReader.java:324)

at java.io.BufferedReader.readLine(BufferedReader.java:389)

 

 

 

 

你可能感兴趣的:(java,基础)