현재 상황은
서버 프로그램이 자바로 만들어져 있습니다..
리눅스에 서버 프로그램을 리눅스용 자바 머신을 이용해서 올려놨구요..
윈도우에도 똑같은 서버 프로그램을 윈도우용 자바 머신을 이용해서 올려놨습니다.
그리고 클라이언트 프로그램은 유닉스에서 동작하는 C 프로그램입니다..
.
.
.
그 와중에 세션종료에 관련된 문제가 발생했는데요,
서버프로그램이 죽었을때의 경우입니다.
.
.
윈도우 서버에 연결되어 있는 클라이언트 프로그램은 서버프로그램이 죽었을 경우, 정상적으로 세션이 끊깁니다.
리눅스 서버에 연결되어 있는 클라이언트 프로그램은 서버프로그램이 죽었을 경우, CLOSE_WAIT에서 무한정 대기합니다..
.
.
일단 클라이언트 프로그램 구조상 일방적으로 서버측으로 보내는 구조라
서버로 패킷을 보내보기 전에는 세션상태를 감지해낼 수 없어서 close()를 명시적으로 호출 할 수 없습니다..