min's devlog
SO_RCVBUF 옵션 본문
SO_RCVBUF
- SO_RCVBUF 옵션을 설정하면 커널의 수신 버퍼와 송신 버퍼의 크기를 조정할 수 있다.
예제
디폴트 수신 버퍼 크기를 출력하고, 크기를 1024로 조절했을 때 변경된 수신 버퍼의 크기도 출력한다.
컴파일 : gcc -o rcvbuf chg_rcvbuf.c
실행 : ./rcvbuf
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
#include<stdio.h>
#include<sys/types.h>
#include<sys/socket.h>
#include<netinet/in.h>
#include<unistd.h>
int main()
{
int s;
int val,len;
if((s=socket(AF_INET, SOCK_STREAM,0)) < 0) {
perror("socket fail");
exit(1);
}
len=sizeof(val);
if(getsockopt(s, SOL_SOCKET, SO_RCVBUF,&val,&len)<0){
perror("socket fail");
exit(1);
}
printf("디폴트 수신버퍼크기 : %d\n",val);
val=1024;
setsockopt(s,SOL_SOCKET,SO_RCVBUF,&val,sizeof(val));
getsockopt(s,SOL_SOCKET,SO_RCVBUF,&val,&len);
printf("1024로 변경한 수신버퍼 크기: %d\n",val);
return 0;
}
실행 결과
디폴트 수신버퍼크기 : 131072
1024로 변경한 수신버퍼 크기: 2240
'Linux > TCP IP Socket Programming' 카테고리의 다른 글
Signal Handler (0) | 2021.04.04 |
---|---|
Signal 처리 (0) | 2021.04.04 |
멀티캐스트 프로그래밍 (0) | 2021.03.28 |
소켓 옵션 종류(2) (0) | 2021.03.28 |
소켓옵션 종류 (0) | 2021.03.27 |
Comments