CAsyncSocket::Listen

들어오는 연결 요청을 수신 하려면이 멤버 함수를 호출 합니다.

BOOL Listen(
   int nConnectionBacklog = 5 
);

매개 변수

  • nConnectionBacklog
    하는 보류 중인 연결 대기열을 증가할 수 있는 최대 길이입니다.유효 범위 1에서 5 까지입니다.

반환 값

함수가 성공 하면 0이 아닌. 그렇지 않으면 0이 고 특정 오류 코드를 호출 하 여 검색할 수 있는 GetLastError.다음 오류는이 멤버 함수에 적용 됩니다.

  • WSANOTINITIALISED 성공적으로 AfxSocketInit 이 API를 사용 하기 전에 발생 합니다.

  • WSAENETDOWN 는 Windows 소켓 구현이 감지 네트워크 하위 시스템 실패 합니다.

  • WSAEADDRINUSE 수신 된 주소를 사용 하려고 합니다.

  • WSAEINPROGRESS Windows 소켓 차단 작업이 진행 중입니다.

  • WSAEINVAL 소켓에는 바인딩되지 않은 바인딩할 또는 이미 연결 되어 있습니다.

  • WSAEISCONN 소켓이 이미 연결 되어 있습니다.

  • WSAEMFILE 없음 자세한 파일 설명자를 사용할 수 있습니다.

  • WSAENOBUFS버퍼 공간이 없습니다 사용할 수 있습니다.

  • WSAENOTSOCK 설명자가 소켓이 아닙니다.

  • WSAEOPNOTSUPP 참조 된 소켓 지원 유형을 아닙니다는 Listen 작업.

설명

연결을 받아들이도록 소켓을 새로 만들기, 백로그 들어오는 연결에 지정 된 Listen, 및 연결에 허용 되 고 수락.Listen즉, 연결, 지원 되는 소켓만 형식의 적용 SOCK_STREAM.이 소켓에 들어오는 연결 승인 되 고 보류 중인 승인 프로세스에 의해 대기 "수동" 모드에 놓입니다.

이 함수는 서버 (또는 연결을 수락 하려는 모든 응용 프로그램)에 일반적으로 사용 됩니다 한 번에 둘 이상의 연결 요청 있을 수 있습니다: 전체 큐와의 연결 요청이 도착 하면 클라이언트가 오류를 나타내는 값을 받을 수 WSAECONNREFUSED.

Listen있을 때 사용 가능한 포트 (설명자) 지를 합리적으로 계속 시도 합니다.큐를 비울 때까지 연결을 수락 합니다.포트 사용할 수 없는 경우 나중에 호출을 Listen 또는 수락 가능한 경우 큐에 있는 현재 또는 가장 최근 "백로그" 리필 하 고 들어오는 연결을 수신 대기 하 고 다시 시작 합니다.

요구 사항

헤더: afxsock.h

참고 항목

참조

CAsyncSocket 클래스

계층 구조 차트

CAsyncSocket::Accept

CAsyncSocket::Connect

CAsyncSocket::Create