Socket Option
소켓을 사용하다 보면 옵션이 필요한 경우가 있습니다.
책에서 나오는 예제를 보면 가장 처음에는 send, recv buffer 크기 변경하는게 나오더 군요.
하지만 더 많죠. 거기에 대해서 블로깅 하겠습니다.
소켓의 기본적인 특성
1. 입, 출력 버퍼의 크기
2. 데이터 전송 방식(TCP, UDP)
3. TTL(time to live)
소켓의 옵션은 일반적으로 변경이 가능 하지만 참조만 허용하는 옵션도 존재한다.
소켓 옵션 설정하기
소켓 옵션 얻기
일단 소켓 옵션 사용하는 것은 아래와 같은 함수를 사용합니다.
인자를 설명하자면 소켓, 변경할 옵션의 프로토콜 레벨, 변경할 옵션 이름, 변경할 옵션의 값을 저장한 버퍼, 전달하는 옵션의 바이트 단위 길이.이렇게 5개가 되네요.
소켓 옵션은 크게 세 개가 있습니다.
SOL_SOCKET | IPPROTO_IP | IPPROTO_TCP |
소켓에 대한 가장 일반적인 옵션 | IP Protocol의 옵션 | TCP Protocol의 옵션 |
소켓 옵션 - SOL_SOCKET
소켓 옵션 - IPPROTO_IP
소켓 옵션 - IPPROTO_TCP