socket-listen
1927 단어 socket
listen 함수는 일반적으로 bind를 호출한 후 - accept를 호출하기 전에 호출됩니다. 함수의 원형은 다음과 같습니다.
#include<sys/socket.h>int listen(int sockfd, int backlog)
반환: 0 - 성공, - 1 - 실패
매개 변수sockfd
listen 함수에 의해 작용하는 플러그인,sockfd 이전에 socket 함수로 되돌아옵니다.socket 함수에 의해 되돌아오는 플러그인 fd는 주동적으로 연결된 플러그인입니다. 즉, 이때 시스템은 사용자가 이 플러그인에 대해connect 함수를 호출할 것이라고 가정하고 다른 프로세스와 주동적으로 연결되기를 기대합니다. 그리고 서버 프로그래밍에서 사용자는 이 플러그인이 외부의 연결 요청을 받아들일 수 있기를 희망합니다. 즉, 수동적으로 사용자가 연결하기를 기다립니다.시스템이 기본적으로 플러그인을 주동적으로 연결한다고 생각하기 때문에 사용자 프로세스가 시스템에서 listen을 호출하여 이 일을 완성한다는 것을 어떤 방식으로 알려야 한다.
매개 변수 backlog
이 매개 변수는 일부 네트워크의 세부 사항과 관련된다.프로세스가 연결 요청을 정리할 때 다른 연결 요청이 존재할 수 있습니다.TCP 연결은 하나의 과정이기 때문에 반연결 상태가 존재할 수 있으며, 때로는 동시에 연결을 시도하는 사용자가 너무 많아서 서버 프로세스가 연결 요청을 신속하게 완성하지 못할 수도 있다.만약 이 상황이 발생한다면 서버 프로세스는 내부 핵을 어떻게 처리하기를 원합니까?커널은 완성된 연결을 추적하기 위해 자신의 프로세스 공간에서 대기열을 유지합니다. 그러나 서버 프로세스가 아직 처리하거나 진행 중인 연결을 인수하지 않았습니다. 이런 대기열 커널은 임의로 커질 수 없기 때문에 크기의 상한선이 있어야 합니다.이 백로그는 커널에 이 수치를 상한선으로 사용하라고 알려 줍니다.
의심할 여지없이 서버 프로세스는 임의로 수치를 지정할 수 없으며, 핵에는 허가된 범위가 있다.이 범위는 실현과 관련된 것이다.어떤 통일은 매우 어렵다. 일반적으로 이 값은 30 이내로 작을 것이다.
listen을 호출하면 서버 프로세스는 외부 요청을 받아들이기 위해accept를 호출할 수 있습니다.accept에 대한 더 많은 정보는 이어서 이 시스템의 글을 주목하십시오.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
React 구성 요소에서 소켓 이벤트 리스너가 여러 번 실행됩니다.기본적이지만 종종 간과되는 사이드 프로젝트를 하면서 배운 것이 있습니다. 이 프로젝트에는 단순히 두 가지 주요 부분이 포함되어 있습니다. 프런트 엔드: 반응 및 재료 UI 백엔드: Express, Typescript...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.