shutdown() 함수 와 close() 함수 질문드립니다.
글쓴이: poplinux / 작성시간: 금, 2007/09/07 - 2:32오후
다음과 같은 형태로 소켓을 연결하는 구조입니다.
while(1)
{
connect()
send()
close() or shutdown()
}
한번 접속하고 계속 사용하는게 아니라 메시지를 전송할 때마다 접속하는 형태입니다.
위와 같이 작성할 때 close_wait 상태에 빠지는 것을 방지하기 위해서 shutdown() 함수를 사용합니다.
shutdown() 함수를 사용한 다음에 close() 함수를 사용해서 소켓을 닫아 주어야 하는 것인지 아니면 shutdown() 함수만 쓰면 되는 것인지 궁금합니다.
Forums:
shutdown 함수만
shutdown 함수만 사용하면 됩니다.
헌데 close_wait 을 제거하기 위해 shutdown 을 사용하셨다는 것은 조금 의외이네요.
OS에 따라 작동방식이 있을 테니 shutdown 의 결과가 그런식으로 나올 수 있겠지만
근본적으로 close 와 shutdown 의 차이는 close_wait 이 아니거든요.
close_wait 은 tcp time wait interval 옵션을 이용해서 처리하는게 일반적인 방법이라고 생각이 드네요.
댓글 달기