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 옵션이 기존 바인딩 된 주소를 재사용 할 수 있게 해줍니다.
반응형
'프로그래밍 > C, C++' 카테고리의 다른 글
c언어 문자열에서 숫자만 가져와서 출력하기 (0) | 2021.02.18 |
---|---|
c언어 소켓 close 할때 TIME_WAIT 상태로 남아 있는 경우 (0) | 2021.02.16 |
c언어 문자열 개행 제거 (두가지 방법) (0) | 2021.02.09 |
c언어 문자열 치환하기 (0) | 2021.02.08 |
c언어 문자열 포함 여부 확인 (0) | 2020.10.22 |
댓글()