본문 바로가기

강좌/JAVA NETWORK

자바 네트워크(Network) - 소켓(Socket)동작의 원리

이전에 한것은 네트워크 프로그래밍을 사용할때 자주 사용하는 유틸성 클래스를 살펴 봤다.


TCP/IP방식의 기본적인 동작 방식은 아래 그림과 같다.



TCP/IP에서 서버에서는 클라이언트 요청을 받아서 데이터 처리를 하는데

우선 서버는 클라이언트 요청을 받아 들이는 소켓이 있다.  일명 서버 소켓

클라이언트에서 소켓생성해서 서버로 접속하면 이를 받는 역할을 하는 소켓이 있는데

이후 곧바로 서버내 다른 소켓으로 자신이 받은 요청을 넘긴다.


그래야 수많은 클라이언트 요청이 을 서버에서 받아 들일수 있다.


소스를 보면 소켓이 두개 생성이 되어 있다면 그건 서버용 프로그램이고 

하나면 클라이언트 프로그램이라고 생각하면 된다.


정리하면 서버는 최소한 두개의 소켓이 있어야 한다. ServerSocket과 이를 할당 받을 소켓.