less than 1 minute read

client -> connect() 수행 시 진행 시퀀스

  • listenfd의 file descriptor를 3으로 추측하는 이유는 0(stdin), 1(stdout), 2(stderr)를 제외하고 3번이 유력하기 때문이다.
  • connfd가 적어도 file descriptor 3이 아닌 이유는 file descriptor은 원칙적으로 겹칠 수 없고, 요청이 들어온 client를 위해 새 file descriptor를 생성해서 전달했기 때문이다 (4로 유추할 수 있다.)

다수의 클라이언트가 연결을 요청할 경우

각 클라이언트 들을 위해 connfd(소켓 번호)를 생성하여 전달해준다. -> listenfd를 항상 열어두기 위해

왜 서버는 클라이언트 마다 개별 포트를 열어줄까?

Updated: