BSD 소켓

Untitled

서버

  1. Socket : 소켓 생성
  2. Bind : 소켓에 IP 주소와 포트번호 바인딩
  3. Listen : 클라이언트가 언제 연결하니 기다리기
  4. Accept : 클라이언트 소켓에서 연결 요청이 오면 새로운 소켓 만들어서 연결 (Listen용 소켓은 계속 Listen 해야하니까 새로 만듬)
  5. Recv / Send : 클라이언트 소켓과 데이터 주고받기
  6. CloseSocket : 클라이언트 소켓이 연결을 종료하면 연결되어 있던 소켓 반환

클라이언트

  1. Socket : 소켓 생성

    (클라이언트는 연결을 요청하기 때문에 포트번호를 알고 있을 필요가 없어서 Bind가 없음)

  2. Connect : 소켓에게 임의의 소켓 번호가 부여되고, 서버 소켓과 연결을 맺음(3-way handshake)

  3. Send / Recv : 연결을 맺은 서버 소켓과 데이터 주고받기

  4. CloseSocket : 서버와 연결 종료하고 소켓에 할당되었던 자원 반납