네트워크 프로그래밍 : 물리적으로 멀리 떨어져 있는 호스트들이 서로 데이터를 주고 받을 수 있도록 프로그램을 구현하는 것.
소켓 : 네트워크 프로그래밍에서 데이터를 주고 받을 때 소프트웨어 차원에서 호스트들간에 연결을 해주는 장치를 소켓이라 함. 일반적으로 네트워크 프로그래밍과 같은 뜻으로 사용된다.
#include<sys/socket.h>->int socket(int domain, int type, int protocol)->socket 함수가 소켓을 생성한다.
소켓 -> 전화기가 전화번호를 부여 받듯이 소켓은 소켓의 IP 주소를 할당해야 한다.
-> 전화기가 케이블 선을 꼽아 연결 되듯이 소켓은 소켓에 주소를 할당해야 한다.
#include<sys/socket.h>/int bind(int sockfd, struct sockaddr *myaddr, int addrlen);
/int listen(int sockfd, int backlog);
데이터를 주고받기 위한 연결 요청이 올 때, 그 요청을 수락하기 위한 함수.
#include<sys/socket.h>/int bind(int sockfd, struct sockaddr *addr, int *addrlen);
네트워크 프로그래밍의 기본 과정.
① 소켓을 생성한다.
② 소켓에 IP주소정보를 할당한다.
③ 소켓을 연결 요청이 가능한 상태가 되게 하고, 연결요청을 기다린다.
④ 연결요청이 오는 경우 연결요청을 수락한다.
⑤ 데이터를 교환한다.
댓글