Error Note

[Error Note] 27. Java socket 오류: Socket closed

Song hyun 2024. 5. 23. 11:40
728x90
반응형

[Error Note] 27. Java socket 오류: Socket closed


 

 자바에서 소켓 통신을 배우던 중, 'Socket closed'라는 오류가 발생했다.

socket closed가 발생한 화면

 

 e.stacktrace를 통해 출력된 코드를 확인해보자. 원시코드를 읽어보면 해당 state가 connected보다 클 때, "Socket closed"를 출력하게끔 코드가 작성되어 있다. 서버측의 코드가 닫혀 있고, 해당 서버로 접속을 시도할 때 이 에러메세지가 출력되는 것이다.

 

'어떤 부분에서 에러가 발생한걸까? 왜 서버의 소켓이 닫혀있지?' 라고 생각하던 도중, join()이 선언되지 않은 것을 확인할 수 있다.

 

join()은 다른 스레드가 종료되기 전까지는 해당 스레드가 종료되지 않게 기다려주는 역할을 한다.

 

서버, 클라이언트에 각각 .join()을 선언해준 뒤, 다시 채팅 프로그램을 작동시키니 성공적으로 작동하는 것을 확인할 수 있었다. (ㅜㅜ) 소켓 통신을 사용할 때는 join()을 쓰는 것을 잊지 말자!

728x90
반응형