1. 학습 순서

 

2. 단계별 동작 구조

: 전통적인 BSD Socket API(C/C++) 기준의 정석적인 흐름

더보기
클라이언트(Client) 흐름 서버(Server) 흐름
[1]생성 1. 클라이언트 소켓* 생성 [1]생성  1. 서버 소켓* 생성
    [2]결합 2. 서버 소켓에 IP 주소와 Port 번호 결합
    [3]대기 3. 클라이언트 요청 대기
[2]연결 2. 서버로 연결 요청    
    [4]수락 4. 클라이언트 요청 정보와 서버 소켓 정보를 결합해  연결 소켓* 을 생성 
[3]송수신 3. 서버 소켓에서 연결 수락 후, 데이터 송수신 [5]송수신 5. 연결 소켓을 통한 데이터를 송수신
[4]닫음 4. 통신이 완료되면, 소켓 닫음 [6]닫음 6. 통신이 완료되면, 연결 소켓을 닫음

* 서버 소켓은, 일반적으로 다수의 클라으언트 소켓으로부터 연결 요청을 받는다.

* 클라이언트 소켓은, 서버와 연결 된 뒤, 별도의 소켓을 생성하지 않고, 같은 소켓을 사용한다.  

* 연결 소켓은, 서버 소켓에서 클라이언트와 연결된 연결 소켓으로 서버 소켓과 다르다.