반응형
<Server>
소켓 생성 (전화기 생성)
#include <sys/socket.h> int socket(int domain, int type, int protocol);
- 성공 시 파일 스크립터, 실패 시 -1 반환
소켓의 주소 할당 및 연결 (전화기에 번호 부여)
#include <sys/socket.h> int bind(int sockfd, struct sockaddr *myaddr, socklen_t addrlen);
- sockfd: 소켓번호
- struct sockaddr *myaddr: 주소(ip, port) 구조체
- 성공 시 0, 실패 시 -1 반환
연결요청이 가능한 상태로 변경 (전화 받기 가능)
#include <sys/socket.h> int listen(int sockfd, int backlog);
- 일반 소켓을 서버소켓으로 바꿔줌.
- 일반 소켓은 걸 수만 있고 받을 수는 없음. listen함수를 이용해 조작해 주어야만 서버소켓이 됨.
- 성공 시 0, 실패 시 -1 반환
연결요청의 수락 (전화 받아서 새 소켓 return)
#include <sys/socket.h> int accept(int sockfd, struct sockaddr *addr, sockeln_t *addrlen);
- 연결 요청이 있을 때에만 accept 함수가 반환을 한다.
- sockfd: 최초의 소켓(연결요청만 받음)
- 성공 시 파일 디스크립터(새로운 소켓 리턴), 실패 시 -1 반환
<Client>
연결 요청 (전화 걸기)
#include <sys/socket.h> int connect(int sockfd, struct sockaddr *serv_addr, socklen_t addrlen);
- sockfd: 클라이언트 소켓
- struct sockaddr *serv_addr: 접속할 주소 ip, port num 정보를 담고 있는 구조체
- 성공 시 0, 실패 시 -1 반환
반응형
'Computer Science > 컴퓨터 네트워크' 카테고리의 다른 글
컴퓨터 네트워크: IPv4 Address - Introduction (0) | 2021.11.27 |
---|---|
컴퓨터 네트워크: Options (0) | 2021.11.27 |
컴퓨터 네트워크: TCP timers (0) | 2021.11.11 |
컴퓨터 네트워크: Congestion Control (0) | 2021.10.14 |
컴퓨터 네트워크: Error Control (0) | 2021.10.07 |
컴퓨터 네트워크: Flow Control (0) | 2021.10.05 |