Socket 이란

소켓(Socket)의 사전적 정의는 구멍, 연결, 콘센트 등이다. 가정에서 사용하는 콘센트의 돼지코와 코드를 생각하면 쉽게 이해할 수 있다. 네트워크 프로그래밍적으로 생각해보면 프로그램이 네트워크에서 데이터를 ****송수신 할 수 있도록 네트워크 환경에 연결할 수 있게 만들어진 연결부 혹은 창구가 바로 소켓이다.

콘센트에도 220v, 110v 등 규격이 있듯이 소켓도 통신 프로토콜 규격에 맞게 만들어져야 한다. 소켓은 특히 OSI 7 계층의 4계층인 TCP 상에서 동작하는 소켓을 주로 사용하는데 흔히 "TCP 소켓", "TCP/IP 소켓" 이라 부른다.

Socket Programming

소켓으로 네트워크 통신 기능을 구현하기 위해서는 기본적으로 다음에 대한 이해가 있어야 한다.

나아가 통신에는 여러 변수가 많기 때문에 여러 예외 상황에 대한 처리도 필요하다.

예외 상황에 대한 처리 등은 차차 알아보고 우선은 기본적인 사항들에 대해 알아보자.

클라이언트 소켓, 서버 소켓의 역할 및 구성