Estou desenvolvendo um chat a partir de um modelo que encontrei na internet, mas quando fecho a janela do cliente, na aplicação do servdiro dá o seguinte erro:
java.net.SocketException: Connection reset
at java.net.SocketInputStream.read(SocketInputStream.java:189)
at java.net.SocketInputStream.read(SocketInputStream.java:121)
at sun.nio.cs.StreamDecoder.readBytes(StreamDecoder.java:283)
at sun.nio.cs.StreamDecoder.implRead(StreamDecoder.java:325)
at sun.nio.cs.StreamDecoder.read(StreamDecoder.java:177)
at java.io.InputStreamReader.read(InputStreamReader.java:184)
at java.io.BufferedReader.fill(BufferedReader.java:154)
at java.io.BufferedReader.readLine(BufferedReader.java:317)
at java.io.BufferedReader.readLine(BufferedReader.java:382)
at servidor.classes.User.run(User.java:38)
at java.lang.Thread.run(Thread.java:722)
E aqui segue a classe User do proeto que é mencionada no erro:
package servidor.classes;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.PrintStream;
/**
*
* @author Lucas
*/
public class User implements Runnable {
private String nome = "";
private BufferedReader reader = null;
private PrintStream writer = null;
private Thread runner = null;
public User(BufferedReader reader, PrintStream writer, String nome) {
this.writer = writer;
this.reader = reader;
setNome(nome);
runner = new Thread(this);
runner.start();
}
public void run() {
while (true) {
try {
String msg = reader.readLine();
if (msg.length() > 0) {
msg = getNome() + ": " + msg;
ConexaoServidor.addMensagem(msg);
}
writer.println(ConexaoServidor.getTimeline());
} catch (IOException e) {
e.printStackTrace();
}
}
}
public String getNome() {
return nome;
}
public void setNome(String nome) {
this.nome = nome;
}
}
Alguém poderia me ajudar a solucionar esse erro ?