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