CLOSE_WAIT에 관한 질문..

hatbary의 이미지

안녕하세요..

서버 프로그래밍을 하다가 궁금한점이 생겨 질문드립니다..

여기 게시판에 CLOSE_WAIT상태에 대한 몇가지 글들이 있는데..

잘 이해를 못하겠더군요..(머리가 흠...ㅡㅡ;;)

그래서 염치불문하구 질문을 다시 올리는데요..

서버에서 보면, 클라이언트랑 CLOSE_WAIT상태로 되어있는게 있습니다..

netstat -n으로 보믄, recv-Q가 1이고 send-Q가 0인상태로 말이져..

이미 소켓 옵션으로 타임아웃을 주긴 줬는데, 시간이 지나면 이건 없어지는 건가요? 그렇다 하더라두, 이런것이 생긴다는 것 자체가 좀 맘에 안들거든요..

그래서 제 나름대로 생각해서 클라이언트측에서 소켓 옵션으로 SO_LINGER를 줬는데, 이것이 맞는 해결책인지도 좀 의아합니다...

코딩상 소켓을 잘 닫아주지 못하면, 이런 현상이 생긴다구들 하는데, 전 나름대로 잘 닫아줬다구 생각했는데...그게 어딘가 문제가 있는거 같슴다...

소스코드를 올리려니 코드가 좀 너무 커서, 글구 어떤 부분을 올려야 할지도 잘 몰라서..못올리겠네요..ㅠㅠ(내공의 부족)

암튼 CLOSE_WAIT상태를 막기 위해서 어떤 조치를 취해야 할지 조언해주시면 정말 고맙겠습니다..

그럼 답변에 미리 감사드리면서..꾸벅!!

stoneshim의 이미지

http://bbs.kldp.org/viewtopic.php?t=23371&highlight=CLOSE_WAIT

이 스레드는 보셨나요?

읽어보시고... 이해가 안되는 부분을 질문해 주세요.

우리 모두 리얼리스트가 되자. 그러나 가슴에 이룰 수 없는 꿈을 가지자