- SOCKET 이란?
두 프로그램이 네트워크를 통해 서로 통신을 수행 할 수 있도록 양쪽에 생성되는 링크의 단자.
두 소켓이 연결되면 서로 다른 프로세스끼리 데이터를 전달 할 수 있다.
- Server / Client 흐름도.
Server/Client는 전화기에 비율할 수 있다.
Server : 전화를 받는 사람.
Client : 전화를 거는 사람.
Server는 먼저 실행중인 상태여야 하고 Client의 접속을 허락하고 관리할 수 있어야 한다.
즉, Server는 Client에게 전화가 올 때까지 기다리고 있다가 Client가 전화를 걸면 전화를 받는다.
<Server>
1. 전화기가 장만한다. (socket 함수)
2. 전화 번호를 할당 받아야 한다. (bind 함수)
3. 전화가 걸려올 수 있도록 전화기를 잭에 연결한다. (listen 함수)
4. Client로부터 전화가 걸려오면 받는다. (accept 함수)
5. Client와 대화를 주고 받는다. (send, recv 함수)
6. 대화가 끝나면 전화를 끊는다. (closesocket 함수)
<Client>
1. 전화기가 장만한다. (socket 함수)
2. Server에 전화를 건다. (connect 함수)
3. Server와 대화를 주고 받는다. (send, recv 함수)
4. 대화가 끝나면 전화를 끊는다. (closesocket 함수)
참고 내용.
'Programming > Socket' 카테고리의 다른 글
[API] 소켓 통신 4 <Client> (0) | 2017.05.22 |
---|---|
[API] 소켓 통신 2 <Server/Client 공통> (0) | 2017.05.22 |