클라이언트 종료 사건마다 먼저 닫을 경계와 사용자 결과가 다르다

System.in처럼 닫을 수 없는 전역 입력은 별도 adapter와 종료 token이 필요합니다.

사건먼저 수행사용자 결과
/exit프레임 전송정상 퇴장
server EOFwriter 중단서버 종료
read 오류socket close연결 끊김
input 종료exit 시도로컬 종료
process stopclose once취소

핵심: 모든 경로는 Socket close와 두 역할 회수로 수렴합니다.