java socket报 connection reset的原因和解决方式

Java服务器使用Socket时,如果报错: Connection reset

我遇到的一个原因是服务器端主动断开连接了,没有循环等待accept,当然常规做法是在While(true)里开启线程,为了简化看到问题,就没写线程; 

即服务器端的accept必须用while (true) 把accept包围起来,否则运行完就退出了,客户端就会报connection reset

 java socket报 connection reset的原因和解决方式_第1张图片

 

具体错误信息如下:

java.net.SocketException:Connection reset

atjava.net.SocketInputStream.read(SocketInputStream.java:196)

atjava.net.SocketInputStream.read(SocketInputStream.java:122)

atsun.nio.cs.StreamDecoder.readBytes(StreamDecoder.java:283)

atsun.nio.cs.StreamDecoder.implRead(StreamDecoder.java:325)

atsun.nio.cs.StreamDecoder.read(StreamDecoder.java:177)

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

atjava.io.BufferedReader.fill(BufferedReader.java:154)

atjava.io.BufferedReader.readLine(BufferedReader.java:317)

atjava.io.BufferedReader.readLine(BufferedReader.java:382)

atcom.xiaolv.basic.EchoClient.send(EchoClient.java:21)

 

 

 

 

你可能感兴趣的:(java,互联网后端)