listen socket은 연결 입구이고 accept는 통신 소켓을 만든다
서버는 요청을 받는 listen socket과 클라이언트별 connected socket을 분리해 수명과 close 책임을 다르게 관리한다.
1 socketTCP fd 생성아직 주소와 역할이 없다
2 bindIP와 port 고정서버가 받을 주소를 점유
3 listen대기열 생성연결 요청을 queue에 둔다
4 acceptconnected fd 반환클라이언트별 통신 대상 생성
5 close역할별 정리listen과 connected fd를 따로 닫음
구분
맡는 일
닫는 기준
listen fd
새 연결 요청을 받는 서버 입구
서버 종료 때 닫음
connected fd
특정 클라이언트와 read/write
해당 연결 종료 때 닫음
accept queue
3-way handshake 뒤 대기 중인 요청
accept가 꺼내면 사라짐