c언어 서버 소켓 종료 후 바로 재사용하기 (bind 실행 에러시)

프로그래밍/C, C++|2021. 2. 16. 08:07
반응형

소켓 프로그램을 만들고 사용중 종료, 재구동이 필요한 경우 소켓이 정상 종료되지 않아 (계속 사용중) 에러가 발생할때 아래와 같은 소켓 옵션 코드를 이용해 해결이 가능합니다.

 

server_fd = socket(AF_INET,SOCK_STREAM,0);

 

// 소켓 종료 후 binding 곧바로 재사용 가능하게 하기

int reuse = 1;

setsockopt(server_fd, SOL_SOCKET, SO_REUSEADDR, &reuse, sizeof(reuse));

 

이름에서 알 수 있듯이 SO_REUSEADDR 옵션이 기존 바인딩 된 주소를 재사용 할 수 있게 해줍니다.

 

반응형

댓글()