SO_LINGER
-
생각보다 쉽지만은 않은 SO_LINGER개발/서버 2019. 10. 22. 16:35
소켓을 설정할 때 나오는 옵션 중 SO_LINGER와 SO_DONTLINGER가 있다. 시중에서 판매되는 책에는 설명이 비교적 간단한데, 사용법은 보통 다음과 같다. 1 2 3 4 5 LINGER linger = { 0, 0 }; linger.l_onoff = 1; // SO_LINGER linger.l_linger = 0; // TIME-OUT setsockopt(socket, SOL_SOCKET, SO_LINGER, (char*)&linger, sizeof linger); closesocket(socket); 설명에 따르면 closesocket 함수의 디폴트 동작은 SO_DONTLINGER이다. 소켓을 통한 추가적인 데이터 송수신이 안 되지만 커널의 송신 버퍼에 있던 데이터는 상대에게 전부 보낸다. ..