◆프로토콜 스택◆
- 인터넷기반의 데이터를 송수신하기위해 설계된 스택
- 총 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 |
댓글