본문 바로가기
프로그래밍

4_listen,accept,connect,iterative서버

by BlueOcean&Shark 2018. 1. 8.

◆프로토콜 스택◆
- 인터넷기반의 데이터를 송수신하기위해 설계된 스택
- 총 7단계이고 각 단계별로 표준화함
- 크게 4단계로 나눌 수 있음
1.link  - 물리적장치
2. ip  - 데이터 이동의 경로 설정
3. tpc / udp - 데이터 송수신 규약(TCP - 확인단계가 있음 ,UDP - 확인단계가 없음)
4. application - 응용프로그램의 프로토콜구성 계층

  
◆listen함수◆
- 함수 원형 : int listen(int sock, int backlog);
- 함수설명  : backlog크기만큼 큐를 만들고 연결요청이오면 큐에 쌓아놓는다.
- return  : 성공시 0, 실패시 -1 반환
- sock    : 소켓디스크립터 전달
- backlog : 연결요청 대기큐의 크기


 
◆accept함수◆
- 함수 원형 : int accept(int sock, struct sockaddr * addr, socklen_t * addrlen);
- 함수설명  : 연결요청대기큐에서 연결요청온것을 하나씩꺼내 연결을 수락한다.
수락시 새로운 소켓이생성되며 새로운 파일디스크립터를 반환한다.
- return  : 성공시 파일디스크립터, 실패시 -1 반환
- sock    : 소켓디스크립터 전달
- addr    : 클라이언트 주소정보
- addrlen : 클라이언트 주소정보의 크기


◆connect함수◆
- 함수 원형 : int connect(int sock, const struct sockaddr * servaddr, socklen_t addrlen);
- 함수설명 : 서버로 연결요청
- return  : 성공시 파일디스크립터, 실패시 -1 반환
- sock    : 소켓디스크립터 전달
- addr    : 서버주소정보
- addrlen : 서버주소정보의 크기


◆iterative 서버◆
- 설명 :
여러개의 클라이언트와 연결
각각의 클라이언트와 통신 후 접속을 끊고
다른 클라이언트와 다시 통신

- 순서
socket
bind
listen
while()
{
  accept
  read/wirte
  close(client)
}
close(server)

'프로그래밍' 카테고리의 다른 글

6_UDP 이론  (0) 2018.01.09
5_TCP이론  (0) 2018.01.09
3_bin함수  (0) 2017.12.29
2_socket 함수인자  (0) 2017.12.18
1_소켓프로그래밍의 주요함수  (0) 2017.12.12

댓글