CAsyncSocket::Accept
소켓 연결을 수락 하려면이 멤버 함수를 호출 합니다.
virtual BOOL Accept(
CAsyncSocket& rConnectedSocket,
SOCKADDR* lpSockAddr = NULL,
int* lpSockAddrLen = NULL
);
매개 변수
rConnectedSocket
연결에 사용할 수 있는 새 소켓 식별 하는 참조입니다.lpSockAddr
에 대 한 포인터는 SOCKADDR 소켓 연결의 주소를 받는 구조, 네트워크에 알려진 대로.정확한 형식에는 lpSockAddr 인수는 소켓을 만들 때 설정 된 주소 패밀리가 결정 됩니다.경우 lpSockAddr 또는 lpSockAddrLen 같지 NULL받아들인된 소켓의 원격 주소 정보가 반환 됩니다.lpSockAddrLen
주소에서 길이에 대 한 포인터 lpSockAddr (바이트)에서입니다.lpSockAddrLen 결과 값 매개 변수입니다: 처음에가 가리키는 공간의 크기를 포함 해야 lpSockAddr. 반환이 실제 길이 (바이트)를에서 반환 주소를 포함 합니다.
반환 값
함수가 성공 하면 0이 아닌. 그렇지 않으면 0이 고 특정 오류 코드를 호출 하 여 검색할 수 있는 GetLastError.다음 오류는이 멤버 함수에 적용 됩니다.
WSANOTINITIALISED 성공적으로 AfxSocketInit 이 API를 사용 하기 전에 발생 합니다.
WSAENETDOWN 는 Windows 소켓 구현이 감지 네트워크 하위 시스템 실패 합니다.
WSAEFAULT 의 lpSockAddrLen 인수가 너무 작습니다 (크기 보다는 SOCKADDR 구조).
WSAEINPROGRESS Windows 소켓 블로킹 호출이 진행 중입니다.
WSAEINVAL Listen범위가 없습니다.
WSAEMFILE 항목에 적용 하는 큐가 비어 및 사용할 수 있는 설명자가 없습니다.
WSAENOBUFS버퍼 공간이 없습니다 사용할 수 있습니다.
WSAENOTSOCK 설명자가 소켓이 아닙니다.
WSAEOPNOTSUPP 참조 된 소켓 연결 지향 서비스를 지 원하는 형식을 아닙니다.
아닙니다 소켓 표시 비블로킹으로 및 연결이 받아들여질 수 있습니다.
설명
이 루틴 첫 번째 연결에서 보류 중인 연결 큐의 추출이 소켓으로는 동일한 속성을 가진 새 소켓을 만듭니다 및 연결을 rConnectedSocket.대기열에 보류 중인 연결이 있으면 수락 0이 반환 및 GetLastError 오류를 반환 합니다.허용된 된 소켓 (rConnectedSocket) 더 이상 연결을 받아들이도록 사용할 수 없습니다.원래 소켓 열고 수신 대기 상태로 유지 됩니다.
인수는 lpSockAddr 통신 계층에 게 알려진 연결 소켓을 사용 하 여 주소를 입력 한 결과 매개 변수입니다.수락 소켓 연결 기반 형식과 같이 사용 SOCK_STREAM.
요구 사항
헤더: afxsock.h