read 예외가 발생하면 루프 아래에 놓인 정리 코드는 실행되지 않는다.
Socket과 두 스트림을 만든다.
상대 종료 또는 reset을 만난다.
메서드가 즉시 빠져나간다.
파일 디스크립터가 서버에 누적된다.
핵심: 자원 획득과 사용 전체를 try로 감싸고 finally에서 정리한다.