TIME_WAIT 시간 최소로 줄이려면 어디를 손봐야 하나요?

mudori의 이미지

tcp 0 0 211.172.232.231:3494 211.236.171.203:2980 TIME_WAIT

이와 같이 프로그램을 맹글었느데 통신을 이상하게 해서 정확하게 죽지 않나봅니다.(방법을 모름)

그냥 TIME_WAIT를 빨리 끝내고 싶은데 어떻게 해야 빨리 끝나는지요?

프로그램단에서 해줘야 하는지 서버단에서 해줘야 하는지 모르겠습니다.

charsyam의 이미지

mudori wrote:
tcp 0 0 211.172.232.231:3494 211.236.171.203:2980 TIME_WAIT

이와 같이 프로그램을 맹글었느데 통신을 이상하게 해서 정확하게 죽지 않나봅니다.(방법을 모름)

그냥 TIME_WAIT를 빨리 끝내고 싶은데 어떻게 해야 빨리 끝나는지요?

프로그램단에서 해줘야 하는지 서버단에서 해줘야 하는지 모르겠습니다.

Reuseaddr, SO_LINGER 등가 이거 두게 셋팅해보세용...

=========================
CharSyam ^^ --- 고운 하루
=========================

ktd2004의 이미지

얼마전에 저도 이 문제로 고민했었습니다.
다음 링크를 참조하시면 될 것같습니다.
[url]
http://joinc.co.kr/modules.php?op=modload&name=Forum&file=viewtopic&topic=23766&forum=6&4
[/url]
[url]
http://docs.sun.com/app/docs/doc/806-1017/6jab5di3g?l=ko&a=view
[/url]

결론은 다음과 같은 코드입니다.

int sock_opt = 1;
if (setsockopt(sock, SOL_SOCKET, SO_REUSEADDR, (void *)&sock_opt, sizeof (sock_opt)) == -1) {
	perror("setsockopt(SO_REUSEADDR)");
	(void) close(sock);
	return (-1);
}