소켓프로그래밍 SO_REUSEADDR의 역할?
글쓴이: redpig / 작성시간: 목, 2005/04/07 - 12:07오후
안녕하세요?
소켓프로그래밍(C언어)을 공부중인데요...
setsockopt()로 SO_REUSEADDR 옵션을 설정해서 주소를 재활용 할 수 있다고 책에 나와 있는데요 이걸 어떤때 사용하는지 모르겠습니다.
socket에 SO_RETSEADDR 옵션을 설정하면 현재 사용중인 주소와 포트를 재사용할 수 있다고 이해했는데요. 그럼 외부 호스트에서 해당 포트에 데이타를 전송하면 두 프로세스 모두가 그 데이타를 받게 되는건가요?
답변 부탁드립니다.
Forums:
그게아니구요,, SO_REUSEADDR 는 특정 포트를 쓰고 닫으면
그게아니구요,, SO_REUSEADDR 는 특정 포트를 쓰고 닫으면
그 상태가 TIME_WAIT이라는 대기 상태가 되고, 그때는 소켓을
그 포트로 열려고 할때 사용하지 못합니다.
보통 어떤 서버를 만들었는데, 테스트 할때, 지속적으로 프로그램을
실행시켜야 하는데 그때 보통 소켓오픈이 에러가 납니다. 그래서
이옵션을 줘서 TIME_WAIT상태에 있는 녀석도 열수 있도록 하는거죠.
^^ be cool ~
http://fromdj.pe.kr
댓글 달기