먼저 서버를 시작한 다음 모든 클라이언트가 완벽하게 작동하지만 클라이언트를 먼저 시작한 다음 서버를 시작할 때 (svr이 충돌 할 때 클라이언트가 연결할 수 있는지 확인한 다음 클라이언트는 서버에 연결하지만 2,3 초 후 SocketException : Connection reset을 던집니다. 나는 그것을 일으키는 원인을 알지 못한다. 누군가 내가 이것을 이해하도록 도울 수 있다면 나는 정말로 그것을 호소 할 것이다.SocketException : 다시 연결 후 연결 재설정
클라이언트 처리서버 코드 : 서버에 연결
public ServerHandler(Socket socket){
try{
pw = new PrintWriter(socket.getOutputStream());
writerHolder[userCounter] = pw;
InputStreamReader in = new InputStreamReader(socket.getInputStream());
reader = new BufferedReader(in);
userCounter++;// Increment the number of people connected
}catch(Exception ex)
{
ex.printStackTrace();
}
}
클라이언트 코드 :
는private void startConnection()
{
try
{
sock = new Socket("192.168.1.5", 5000);
InputStreamReader input = new InputStreamReader(sock.getInputStream());
reader = new BufferedReader(input);
pw = new PrintWriter(sock.getOutputStream());
JOptionPane.showMessageDialog(null, "Connected to the server!");
}catch(IOException ex)
{
//timer.reconnectTimer(20);
ex.printStackTrace();
}
}
스택 트레이스 :
이java.net.SocketException: Connection reset
at java.net.SocketInputStream.read(Unknown Source)
at java.net.SocketInputStream.read(Unknown Source)
at sun.nio.cs.StreamDecoder.readBytes(Unknown Source)
at sun.nio.cs.StreamDecoder.implRead(Unknown Source)
at sun.nio.cs.StreamDecoder.read(Unknown Source)
at java.io.InputStreamReader.read(Unknown Source)
at java.io.BufferedReader.fill(Unknown Source)
at java.io.BufferedReader.readLine(Unknown Source)
at java.io.BufferedReader.readLine(Unknown Source)
at homeControl.ServerHandler.run(ServerHandler.java:52)
at java.lang.Thread.run(Unknown Source)
'ServerHandler.java : 52'는 어디에 있나요? 또한, 나는'readLine' 호출을 보지 못했습니다. – Pietu1998
예외를 throw하는 사람은 서버 또는 클라이언트입니까? – Joni
@ Pietu1998 이것은 단지 코드 단편입니다. – dHoja