컴퓨터/C

C soket 소켓 생성 과정

sayyesdoit 2022. 11. 3. 17:28

I. server

1단계. 소켓 생성. socket 함수 호출

비유하자면, 전화기의 장만 단계이다.

#include <sys/socket.h>

int socket(int domain, int type, int protocol);

성공 시 파일 디스크립터, 실패시 -1 반환

2단계. IP주소와 PORT번호 할당. bind 함수 호출

비유하자면, 전화번호의 부여 단계이다.

#include <sys/socket.h>

int bind(int sockfd, struct sockaddr *myaddr, socklen_t addrlen);

성공 시 0, 실패 시 -1 반환

3단계. 연결요청 가능상태로 변경. listen 함수 호출

비유하자면, 전화기의 케이블 연결 단계이다.

#include <sys/socket.h>

int listen(int sockfd, int backlog);

성공 시 0, 실패 시 -1 반환

4단계. 연결요청에 대한 수락. accept 함수 호출

비유하자면, 수화기를 드는 단계이다.

#include <sys/socket.h>

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

성공 시 파일 디스크립터, 실패 시 -1 반환

II. client

연결요청. connect 함수 호출

비유하자면, 전화를 거는 단계이다.

#include <sys/socket.h>

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

성공 시 0, 실패 시 -1 반환