
keep-alive 메시지는 TCP/IP 연결이 유지되도록 하기 위해 일정 시간마다 보내는 메시지입니다.
keep-alive 메시지는 다음 경우에 보내집니다.
- 연결이 유지되고 있지만, 데이터가 전송되지 않았을 때
- 일정 시간이 경과했을 때
keep-alive 메시지는 소켓 라이브러리에 따라 다르지만, 일반적으로 SO_KEEPALIVE 옵션을 사용하여 설정합니다.
keep-alive 메시지의 timeout 시간은 SO_KEEPALIVE_INTVL, SO_KEEPALIVE_PROBES, SO_KEEPALIVE_TIME 옵션을 사용하여 설정합니다.
- SO_KEEPALIVE_INTVL: keep-alive 메시지의 간격 (초)
- SO_KEEPALIVE_PROBES: keep-alive 메시지의 최대 횟수
- SO_KEEPALIVE_TIME: keep-alive 메시지의 timeout 시간 (초)
keep-alive 메시지를 보내지 않으면 소켓 연결은 다음과 같이 종료됩니다.
- 연결이 유지되고 있지 않은 경우
- 데이터가 전송되지 않은 경우
- 일정 시간이 경과한 경우
소켓 연결이 종료되면, 소켓 라이브러리는 연결이 종료된 것을 감지하고, 연결을 종료합니다.
2025-04-19 17:53