linger close 용법
1858 단어 close
그러면 연결 을 끊 는 방식 을 어떻게 설정 합 니까?socket 설명 자 를 설정 하여 linger 구조 체 속성 을 설정 합 니 다.
linger 구조 체 데이터 구 조 는 다음 과 같다.
#include <arpa/inet.h>
struct linger {
int l_onoff;
int l_linger;
};
세 가지 차단 방식:
1. l_onoff = 0; l_linger 무시
close () 는 즉시 돌아 갑 니 다. 바 텀 은 보 내지 않 은 데 이 터 를 보 낸 후에 자원 을 방출 합 니 다. 즉, 우아 하 게 종료 합 니 다.
2. l_onoff != 0; l_linger = 0;
close () 는 즉시 되 돌아 오지 만 완료 되 지 않 은 데 이 터 를 보 내지 않 고 REST 패 키 지 를 통 해 socket 설명 자 를 강제로 닫 습 니 다. 즉, 강제로 종료 합 니 다.
3. l_onoff != 0; l_linger > 0;
close () 는 즉시 돌아 오지 않 습 니 다. 커 널 은 일정 시간 지연 되 며, 이 시간 은 llinger 의 값 으로 결정 합 니 다.시간 초과 가 도착 하기 전에 보 내지 않 은 데이터 (FIN 패키지 포함) 를 보 내 고 다른 쪽 의 확인 을 받 으 면 close () 는 정확 한 것 으로 돌아 갑 니 다. socket 설명자 가 우아 하 게 종 료 됩 니 다.그렇지 않 으 면 close () 는 오류 값 을 직접 되 돌려 주 고 데 이 터 를 보 내지 않 으 면 socket 설명자 가 강제 적 으로 종 료 됩 니 다.주의해 야 할 때 socket 설명자 가 비 막힘 형 으로 설정 되면 close () 는 값 을 직접 되 돌려 줍 니 다.
구체 적 인 용법:
struct linger ling = {0, 0};
setsockopt(socketfd, SOL_SOCKET, SO_LINGER, (void*)&ling, sizeof(ling));
참고:
http://cs.nyu.edu/courses/spring00/V22.0480-002/class06.html
http://www.google.com.hk/#newwindow=1&q=socket%E5%BB%B6%E8%BF%9F%E5%85%B3%E9%97%AD&safe=strict
http://agapple.iteye.com/blog/947133
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
linger close 용법우아 하 게 끊 고 강제로 끊 는 두 가지 방식 이 있 습 니 다. 그러면 연결 을 끊 는 방식 을 어떻게 설정 합 니까?socket 설명 자 를 설정 하여 linger 구조 체 속성 을 설정 합 니 다. close...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.