반응형
안녕하세요. 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 |