[C 언어] 소켓통신에 들어가기 앞서
카테고리: C
1. socket
1-1. socket이란?
socket
- 네트워크(인터넷)의 연결도구
- OS에 의해 제공되는 S/W적인 장치
( 유한하기때문에 쓰고 반납하는 개념 )
-> 개발자는 데이터 송수신에 대한 물리적, S/W적인 세세한 내용을 신경쓰지 않아도 된다.
1-2. socket의 사용 흐름
- socket 생성
#include <sys/socket.h> int socket(int domain, int type, int protocol); -> 성공 시 file descriptor 반환, 실패 시 -1 반환
- socket의 주소 할당
#include <sys/socket.h> // 똑같은거 아는데 외울 겸 쓰자 ^ㅡ^ int bind(int sockfd, struct sockaddr* myaddr, socklen_t addlen); -> 성공 시 0 반환, 실패 시 -1 반환
- 연결 요청이 가능한 상태로 만들기
#include <sys/socket.h> int listen(int sockfd, int backlog); -> 성공 시 0 반환, 실패 시 -1 반환
- 연결 요청의 수락
#inlcude <sys/socket.h> int accept(int sockfd, struct sockaddr* addr, socklen_t addrlen); -> 성공 시 file descriptor 반환, 실패 시 -1 반환
1-3. socket의 기본 사용 ( 리눅스 )
리눅스 Server
리눅스 Client
1-4. socket의 기본 사용 ( 윈도우 )
Window Server
프로젝트 -> 속성 -> 링커 -> 명령줄 -> ws2_32.lib 추가하기
Window Client
프로젝트 -> 속성 -> 링커 -> 명령줄 -> ws2_32.lib 추가하기
이걸 그대로 해도 오류가 날 수 있음 !
다음 시간에 왜 오류가 나는지, 어떻게 해결해야하는지 올려놓도록 하자 :)
댓글 남기기