서버와 클라이언트가 연결하는 방법
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를 항상 열어두기 위해