I. syntax
#include <sys/socket.h>
int accept(int sock, struct sockaddr* addr, socklen_t* addrlen);
II. return
성공 시 생성된 소켓의 파일 디스크립터, 실패 시 -1 반환
III. parameters
1. int sock
서버 소켓의 파일 디스크립터 전달.
2. struct sockaddr* addr
연결요청 한 클라이언트의 주소정보를 담을 변수(clnt_adr)의 주소 값 전달, 함수호출이 완료되면 인자로 전달된 주소의 변수에는 클라이언트의 주소정보가 채워진다.
(struct sockaddr*)&clnt_adr
3. socklen_t* addrlen
두 번째 매개변수 addr에 전달된 주소의 변수 크기를 바이트 단위로 전달, 단 크기정보를 변수에 저장한 다음에 변수의 주소 값을 전달한다. 그리고 함수호출이 완료되면 크기정보로 채워져 있던 변수에는 클라이언트의 주소정보 길이가 바이트 단위로 계산되어 채워진다.
socklent_t clnt_adr_sz;
clnt_adr_sz=sizeof(clnt_adr); //&clnt_adr_sz 사용
'컴퓨터 > C' 카테고리의 다른 글
C atoi() (0) | 2022.11.06 |
---|---|
C connect() (0) | 2022.11.05 |
C listen() (0) | 2022.11.05 |
C 네트워크 주소 정보의 표현 (0) | 2022.11.04 |
C bind() (0) | 2022.11.04 |