2.5 자주 사용하는 윈속 함수 [TCP/IP 소켓 프로그래밍 with 윈도우즈]

윈속을 이용하여 TCP/IP 통신 프로그램을 작성할 때 사용하는 기본적인 함수와 자료형을 살펴봅시다. 여기에서 소개하는 함수는 다음 장부터 실제 사용하는 방법을 예제 코드와 함께 설명할게요. 여기에서는 먼저 윈속 라이브러리의 기본적인 함수와 자료 형식을 간략하게 살펴봅시다.

여기에서는 다음의 10개의 기본적인 윈속 함수를 소개할게요.

소켓을 생성하는 함수
SOCKET socket(int af,int type,int protocol);
소켓을 닫는 함수
int closesocket(SOCKET sock);
소켓과 로컬 네트워크 인터페이스를 결합하는 함수
int bind(SOCKET sock,const struct sockaddr *addr,int addrlen);
TCP 프로토콜을 사용하는 소켓의 동시 연결 백 로그 큐의 크기 설정하는 함수
int listen(sock,int backlog);
연결을 요청하는 함수
int connect(SOCKET sock, const struct sockaddr otheraddr,int addrlen);
클라이언트 연결을 수락하는 함수
SOCKET accept(SOCKET sock,struct sockaddr *clientaddr,int *addrlen);
메시지를 전송하는 함수
int send(SOCKET sock, const char * buf, int len,int flags);
메시지를 수신하는 함수
int recv(SOCKET sock, char * buf, int len,int flags);
비연결 상태에서 메시지를 전송하는 함수
int sendto(SOCKET sock, const char * buf, int len, int flags,
           const struct sockaddr * to, int addrlen);
비연결 상태에서 메시지를 수신하는 함수
int recvfrom(SOCKET sock, char * buf, int len, int flags, 
             struct sockaddr * from,int *addrlen);