본문 바로가기
IT/데이터베이스_네트워크

윤성우의 열혈 tcp/ip 소켓 프로그래밍 1장 연습문제 솔루션

by nutrient 2021. 5. 23.
728x90
728x170

 

답안 1.
소켓은 물리적으로 연결되어 있는 호스트간 데이터 송수신에 필요한 프로토콜로부터 프로그래머를 자유롭게 하는 데이터 송수신의 매개체이다. 결국 소켓은 인터넷이라는 거대한 네트워크 망으로의 연결 도구로 사용되기 때문에 소켓이라는 이름이 붙게 된 것으로 정리할 수 있다.


답안 2.
listen 함수가 호출되면 소켓은 연결요청이 가능한 상태가 된다. 그러나 실제 연결이 완료되려면 accept 함수가 호출되어야 한다. 



답안 3
리눅스는 소켓도 파일로 간주한다. 즉, 이 둘을 구분 짓지 않는 형태로 설계가 되어 있다. 따라서 파일 입출력 함수를 소켓 입출력에 사용할 수 있다. 하지만 윈도우는 리눅스와 달리 소켓과 파일을 동일하게 간주하지 않는다. 때문에 파일 입출력 함수와 소켓 입출력 함수가 구분되어 있다.

 

 

 


답안 4.
인터넷상에서 소켓을 구분하기 위해서는 주소정보가 필요하다. 따라서 bind 함수호출을 통해서 주소 할당의 과정을 거치는 것이다. 


답안 5.
리눅스의 파일 디스크립터는 파일을 구분하고 지칭할 목적으로 파일에 부여된 정수 값이다. 이렇듯 리눅스의 파일 디스크립터와 윈도우의 핸들은 소켓을 구분하고 지칭하는 목적으로 소켓에 부여된 정수 값이다.

 


답안 6.
ANSI 표준에서 정의한 입출력 함수는 운영체제에 상관없이 C의 표준으로 제공되는 함수들이다. 따라서 언제든 호출이 가능하다. 반면 저 수준 파일 입출력 함수는 운영체제가 제공하는 입출력 함수이다. 따라서 운영체제 별로 정의하고 있는, 형태가 다른 입출력 함수이다. 


728x90
그리드형

댓글