반응형
소켓 listen() backlog 매개 변수의 값을 결정하는 방법은 무엇입니까?
수신 소켓의 백로그 매개 변수에 사용할 항목을 결정하려면 어떻게 해야 합니까?단순히 매우 큰 숫자를 지정하는 것이 문제입니까?
Winsock 프로그래머의 FAQ에는 이에 대한 매우 긴 답변이 있습니다.표준 설정과 NT 4.0 핫픽스에 추가된 동적 백로그 기능에 대해 자세히 설명합니다.
짧은 대기열을 사용해야 하는 특별한 이유가 없는 한 SOMAXCONN을 사용합니다.
대기열에 새 연결을 위한 공간이 없으면 RST가 전송되지 않으므로 클라이언트는 SYN을 재전송하여 자동으로 연결을 계속 시도할 수 있습니다.
또한 backlog 인수는 다른 소켓 구현에서 다른 의미를 가질 수 있습니다.
- 대부분은 반쯤 열린 연결 대기열의 크기를 의미하며, 일부에서는 완료된 연결 대기열의 크기를 의미합니다.
- 많은 구현에서 백로그 인수는 다른 대기열 길이를 생성하기 위해 곱해집니다.
- 너무 큰 값을 지정하면 모든 구현이 자동으로 값을 최대 대기열 길이로 잘라냅니다.
문서에서:
SOMAXCONN의 백로그 값은 소켓을 담당하는 기본 서비스 공급자에게 보류 중인 연결 대기열의 길이를 합리적인 최대 값으로 설정하도록 지시하는 특수 상수입니다.
언급URL : https://stackoverflow.com/questions/114874/how-to-determine-the-value-of-socket-listen-backlog-parameter
반응형
'programing' 카테고리의 다른 글
파이썬 심플PHP를 사용하는 HTTPS 서버 (0) | 2023.08.20 |
---|---|
숫자가 두 값 사이에 있는지 확인하는 방법은 무엇입니까? (0) | 2023.08.20 |
12c에서 utl_http &wallet 사용: 인증서 유효성 검사 실패 (0) | 2023.08.20 |
Angular2에서 다중 경로 매개변수 전달 (0) | 2023.08.20 |
Sublime Text와 같이 PyCharm에서 선택한 텍스트를 둘러싸는 방법 (0) | 2023.08.20 |