컴퓨터/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 반환