[C 언어] 소켓통신에 들어가기 앞서

Date:     Updated:

카테고리:

태그:

1. socket

1-1. socket이란?

socket
- 네트워크(인터넷)의 연결도구
- OS에 의해 제공되는 S/W적인 장치
( 유한하기때문에 쓰고 반납하는 개념 )
-> 개발자는 데이터 송수신에 대한 물리적, S/W적인 세세한 내용을 신경쓰지 않아도 된다.

1-2. socket의 사용 흐름

  1. socket 생성
    #include <sys/socket.h>
    int socket(int domain, int type, int protocol);
    -> 성공 시 file descriptor 반환, 실패 시 -1 반환
    
  2. socket의 주소 할당
    #include <sys/socket.h> // 똑같은거 아는데 외울 겸 쓰자 ^ㅡ^
    int bind(int sockfd, struct sockaddr* myaddr, socklen_t addlen);
    -> 성공 시 0 반환, 실패 시 -1 반환
    
  3. 연결 요청이 가능한 상태로 만들기
    #include <sys/socket.h>
    int listen(int sockfd, int backlog);
    -> 성공 시 0 반환, 실패 시 -1 반환
    
  4. 연결 요청의 수락
    #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 추가하기

이걸 그대로 해도 오류가 날 수 있음 !
다음 시간에 왜 오류가 나는지, 어떻게 해결해야하는지 올려놓도록 하자 :)

C 카테고리 내 다른 글 보러가기

댓글 남기기