반응형

소켓의 생성

 

 

소켓을 생성할 때 사용하는 socket 함수는 이전 포스팅에서 얘기 한 적 있다.

 

그러나 이 포스팅에서 다시 한번 제대로 알아보자.

 

 

먼저, 다시 한번 socket 함수의 원형 사진을 봐보자.

 

-

 

 

-

 

이번 소켓의 생성 포스팅에서는 socket 함수의 매개변수의 이해를 주제로 한다.

 

-

 

※ 프로토콜 체제(domain)(Protocol Family)※

 

우리가 입고 다니는 옷이라는 것에도

 

반팔 티가 있고, 긴팔 티가 있고, 후드 티, 후드 집업 등 여러 종류가 있지만, 이 모두 옷이라는 것에 속한다.

 

이렇듯 소켓이 통신에 사용하는 프로토콜도 부류가 나뉜다.

 

그리고 socket 함수의 첫 번째 인자로, 생성되는 소켓이 사용할 프로토콜의 부류 정보를 전달해야 한다.

 

이러한 부류 정보를 가리켜서 "프로토콜 체계"라 하며, 포로토콜 체계의 종류는 다음과 같다.

 

-

 

 

-

 

앞으로 자주 사용할 socket 함수의 프로토콜 체계의 종류는 위의 사진 중에서 PF_INET을 주로 사용할 것이다.

 

그리고 실제로 소켓이 사용할 최종 프로토콜 정보는 socket 함수의 세 번째 인자를 통해서 전달하게 되어있다.

 

그리고 세번 째 인자는 첫 번째 인자를 통해서 지정한 프로토콜 체계의 범위 내에서 결정되어야 한다.

 

-

 

※ 소켓의 타입(type) ※

 

소켓의 타입이란, 소켓의 데이터 전송 방식을 의미한다.

 

그리고 데이터 전송 방식의 정보를 socket 함수의 두 번째 인자로 전달해야 하는데,

 

그래야 생성되는 소켓의 데이터 전송 방식을 결정할 수 있기 때문이다.

 

그럼 왜 소켓의 데이터 전송 방식을 전달해줘야 하는가, 

 

이미 첫 번째 인자로 프로토콜 체계의 종류에 대한 정보를 전달했는데,

 

이는, socket 함수의 첫 번째 인자를 통해서 프로토콜 체계 정보를 전달하지만,

 

이는 프로토콜 체계정보만 전달할 뿐, 데이터의 전송 방식까지 완전히 전달하는 것이 아니다.

 

즉, socket 함수의 첫 번째 인자로 전달되는 PF_INET에 해당하는 프로토콜 체계에도

 

둘 이상의 데이터 전송 방식이 존재하는데, 이 둘의 데이터 전송 방식은 다음 포스팅에서 봐보자.

반응형

+ Recent posts