네트워크 프로그램 역시 통신의 내부 처리 과정을 이해하지 못해도 데이터를 초기화하고 정해진 절차에 따라 함수를 호출하는 작업만으로 만들 수 있다.
소켓에 대해 알아보자.
소켓은 파일 디스크립터 혹은 핸들과 유사한 개념. 일단 만들면 네트워크 쉽게 할 수 있음.
응용 프로그램이 통신을 할 때 필요한 요소.
= 통신의 출발점과 도착점
클라이언트는 자신의 소켓이 서버 소켓과 연결된 것으로 생각하고 send()로 데이터 보냄.
서버도 자신의 소켓이 클라 소켓과 연결된 것으로 생각하고 recv()로 데이터 받음.
소켓은 인터페이스이다. 따라서 응용 프로그램이 통신하기 위해 양쪽 모두 소켓을 사용해야 하는 것은 아니다. 둘다 같은 프로토콜을 사용하고 정해진 형태와 절차에 따라 데이터를 주고받으면 됨.
소켓은 응용 계층과 전송 계층 사이에 위치한다고 간주. 하지만 전송 계층을 건너뛰고 곧바로 인터넷 계층(IP)을 사용할 수도 있다.