클라이언트 연결 수용

// 서버Fd 를 가져온다
int server_fd = zwSock.GetFd();

// 필요한 경우 소켓 논블럭,비동기로 설정한다.
fcntl(server_fd, F_SETFL, O_RDWR | O_NONBLOCK | O_ASYNC);

int client_fd = zwSock.Accept();
if (client_fd < 0) { printf("Accept failed\n"); return -1; }

// 클라이언트 소켓정보
struct sockaddr_in* client_addr = (sockaddr_in *)zwSock.GetCltInfo();
// 클라이언트 ip 출력
printf("Client Connect : %s\n", inet_ntoa(client_addr->sin_addr));

해당 코드의 개요

    • LibZWSock::GetFd() 메소드로 서버 파일 디스크립터를 가져와 통신방식을 지정한다
    • 클라이언트 연결요청이 있는 경우 LibZWSock::Accept() 메소드로 수용
    • 필요한 경우 LibZWSock::GetCltInfo() 메소드로 클라이언트 정보를 가져온다
error: Content is protected !!
위로 스크롤