<개인공부>/[TCP_IP 소켓]

[이론] 서버와 클라이언트 소켓의 흐름

BlockDMask 2017. 11. 3. 11:48
반응형

안녕하세요. BlockDMask 입니다.

오늘은 서버와 클라이언트의 일반적인(TCP) 소켓의 흐름을 알아보겠습니다.

함수들을 알아 보겠다는 이야기 입니다.


> 전체적인 그림




> 함수들의 설명

제가 글씨를 못써서;;

못알아 보시는 분들을 위해;;


<서버>

서버는 socket() 함수를 이용하여 소켓을 열고, 

bind() 함수를 이용하여 ip와 port번호를 설정합니다.

listen()을 통해서 클라이언트들이 접근을 할때 수신 대기열 을 만들어서

몇개의 클라이언트를 대기 시킬지를 설정합니다.

accept() 함수를 이용하여 클라이언트의 연결을 기다립니다.


<클라이언트>

클라이언트도 socket() 함수를 이용하여 소켓을 엽니다.

connect() 함수를 이용하여 통신 할 서버의 ip와 port번호를 통해서

서버에 통신을 시도 합니다.


클라이언트가 connect()함수로 통신을 시도하면 서버의 accept() 함수가

클라이언트의 소켓 디스크립터(socket descriptor)를 반환하는데

이를 통해서 클라이언트와 서버가 read(), write() 를 통해서 통신을 할 수 있습니다.


통신이 끝나면


클라이언트와 서버는 각각 close() 함수를 통해서 연결을 종료합니다.


감사합니다.

다음글에는 각 함수들의 자세한 설명을 하겠습니다.

반응형

'<개인공부> > [TCP_IP 소켓]' 카테고리의 다른 글

[이론] socket() 함수에 대해서  (1) 2017.11.04
[이론] 소켓(Socket)이란?  (1) 2017.10.15