728x90

TCP 서버/클라이언트의 함수 호출 순서

- listen 함수 : 서버 소켓을 연결요청 대기 상태로 바꿈

int listen(int sockfd, int backlog);

    -> sockfd : 서버 소켓의 fd, handle 전달

    -> backlog : 연결 요청 대기열의 크기 설정

    -> 클라이언트에서 connect를 통해 연결 요청을 하면 서버 소켓이 요청받은 데이터를 연결 요청 큐에 저장

- accept 함수 : 클라이언트의 연결 요청 수락

int accept(int sockfd, struct sockaddr* addr, socklen_t* addrlen);

    -> 성공 시 클라이언트와 송수신할 소켓의 fd, handle, 실패 시 -1 반환

    -> addr : 연결 요청한 클라이언트의 주소 정보

    -> accept 시에 연결요청 대기 큐에 있던 정보로 소켓을 생성하여 반환하고 그 소켓을 이용하여 데이터를 송수신

    -> 연결 요청 대기 큐에 정보가 없으면 block 상태로 있다가 connect를 통해 정보가 들어오면 진행

- connect 함수 : 서버의 연결 요청 대기큐에 정보를 등록

int connect(int sockfd, struct sockaddr* serv_addr, socklen_t addrlen);

    -> sockfd : 생성한 소켓의 fd 전달

    -> serv_addr : 서버 주소 정보

 

728x90

+ Recent posts