Java服务器使用Socket时,如果报错: Connection reset;
我遇到的一个原因是服务器端主动断开连接了,没有循环等待accept,当然常规做法是在While(true)里开启线程,为了简化看到问题,就没写线程;
即服务器端的accept必须用while (true) 把accept包围起来,否则运行完就退出了,客户端就会报connection reset
具体错误信息如下:
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)