본문 바로가기
728x90

프로그래밍/리눅스 시스템 & 네트워크-소켓2

setsockopt - IP_MULTICAST_TTL TTL은 Time To Live의 약자로 multicast 데이터의 라우터 통과 범위를 설정하는 옵션이다. setsockopt 함수를 통해서 설정하게 되며, 설정 값에 따라 다음과 같다. ======================== 다 음 ================================ 0 : 호스트 내부로 제한 1: 동일 서브넷으로 제한, 라우터는 포워딩하지 않음 32 : 동일 사이트 64 : 동일 지역 255 : 무제한 ================================================================ 리눅스에서 사용법은 매우 간단하다. setsockopt에 IP_MUTLICAST_TTL 옵션을 주고, 옵션값으로 0/1/32/64/255 중 하나의 값을 설정.. 2014. 6. 12.
[SOCKET]TCP KEEPALIVE 옵션 설정 TCP의 경우, connection oriented protocol이지만, 송수신 중, 상대방 프로세스가 종료되는 등 정상적인 상황이 아닌 경우에는 세션의 종료 여부를 감지할 수 없다. 단지, 송신 측 TCP 버퍼가 가득 찬 경우에 EAGAIN을 발생시킬 뿐이다. 다시 말해, LAN 케이블이 뽑힌다든지, 기타 비정상적인 종료가 있을 경우, 상대 측에서 감지할 수 없다는 것이다. TCP option 중, SO_KEEPALIVE라는 옵션이 있는데, setsockopt 함수에서 SO_KEEPALIVE를 1로 setting하면 소켓 내부적으로 일정시간 간격으로 heartbeat을 전송하여, 비정상적인 세션 종료에 대해 감지한다. 그런데 SO_KEEPALIVE를 설정할 경우, 시스템에서 설정한 시간 간격으로 세션.. 2013. 8. 29.
728x90