;

Winsock TCP 성능 향상 - setscokopt() 본문

C, C++, C#

Winsock TCP 성능 향상 - setscokopt()

WindowsHyun 2016. 12. 1. 03:36
반응형

setsockopt( _In_ SOCKET s, _In_ int level, _In_ int optname, _In_reads_bytes_opt_(optlen) const char FAR * optval, _In_ int optlen );


1. 입출력 버퍼크기의 변경


int send_buf = 50;

int recv_buf = 300;


setsockopt( sock, SOL_SOCKET, SO_RCVBUF, (char*)&rcv_buf, sizeof( rcv_buf ) );

setsockopt( sock, SOL_SOCKET, SO_SNDBUF, (char*)&send_buf, sizeof( send_buf ) );



2. Nagle 알고리즘 해제


bool flag = TRUE;


setsockopt( sock, IPPROTO_TCP, TCP_NODELAY, (char *)&flag, sizeof( flag ) );


Nagle 알고리즘
작은 양의 데이터를 여러번 send() 호출로 보내는 경우 네트워크 효율이 좋지 못하여 
send()를 여러번 호출해도 일정 기간동안 지연 해서(100~200ms) TCP 스택의 보내기 버퍼에 쌓아둔 후 한번에 보내는 알고리즘


반응형
Comments