네트워크 프로그래밍 (Network Programming) 소켓 프로그래밍이라고도 한다. 네트워크로 연결된 둘 이상의 컴퓨터 사이에서의 데이터 송수신 프로그램을 작성하는 것을 의미한다. 소켓 (Socket) 네트워크의 연결 도구이며, 운영체제가 제공하는 소프트웨어적 장치이다. 소켓을 통해 운영체제는 프로그래머가 데이터 송수신에 대한 물리적, 소프트웨어적인 깊은 내용을 알 필요 없도록 한다. 소켓은 OSI 모델에서 전송 계층과 세션 계층 사이에 위치하는 것으로 볼 수 있다. 따라서 소켓 위의 계층인 세션 ~ 응용 계층을 소켓 어플리케이션 (Socket Application)이라 하고, 아래 계층인 물리 ~ 전송 계층을 네트워크 시스템이라고 한다. 두 프로세스의 소켓이 연결되면 프로세스 간 통신이 가능하다...