SOCKET 생성 함수는
#include <sys/socket.h>
int socket(int domain, int type, int protocol);
SOCKET 옵션 관리 함수는
#include <sys/socket.h>
int setsockopt(int sockfd, int level, int optname, const void *optval, socklen_t optlen);
성공 시 0 반환
실패 시 -1 or errno 반환
SOL_SOCKET 레벨 옵션
- SO_REUSEADDR
이미 사용 중이거나 TIME_WAIT 상태의 포트를 재사용 가능하도록 설정- SO_KEETALIVE
TCP Keep-Alive 메시지 활성화- SO_RCVBUF / SO_SNDBUF
수신 및 송신 버퍼 크기 설정
-SO_LINGER
소켓 종료 시 남아있는 데이터를 처리할 지연 동작을 설정
IPPROTO_TCP 레벨 옵션- TCP_NODELAY
Nagle 알고리즘 비활성화(데이터를 즉시 전송)- TCP_KEEPIDLE, TCP_KEETINTVL, TCP_KEETCNT
Keet-Alive 설정을 세부 조정
IPPROTO_IP 및 IPPROTO_IPV6 레벨 옵션- IP_TTL
IPv4 패킷의 TTL(Time-To-Live) 값을 설정- IP_MULTICAST_TTL
멀티캐스트 패킷의 TTL 값을 설정