다음을 통해 공유


CAsyncSocket::Connect

데이터 그램 소켓 또는 연결 되지 않은 스트림에 연결 하려면이 멤버 함수를 호출 합니다.

BOOL Connect(
   LPCTSTR lpszHostAddress,
   UINT nHostPort 
);
BOOL Connect(
   const SOCKADDR* lpSockAddr,
   int nSockAddrLen 
);

매개 변수

  • lpszHostAddress
    이 개체에 연결 된 소켓의 네트워크 주소: 컴퓨터 이름을 "입니다" 또는 "128.56.22.8"와 같이 점으로 구분 된 숫자입니다.

  • nHostPort
    소켓 응용 프로그램을 식별 하는 포트입니다.

  • lpSockAddr
    에 대 한 포인터는 SOCKADDR 연결 된 소켓의 주소를 포함 하는 구조입니다.

  • nSockAddrLen
    주소에서 길이 lpSockAddr (바이트)에서입니다.

반환 값

함수가 성공 하면 0이 아닌. 그렇지 않으면 0이 고 특정 오류 코드를 호출 하 여 검색할 수 있는 GetLastError.이 오류 코드의 경우 아닙니다를 재정의할 수 있는 콜백을 응용 프로그램을 사용 하 고 응용 프로그램을 받게 됩니다는 OnConnect 연결 작업이 완료 되 면 메시지.다음 오류는이 멤버 함수에 적용 됩니다.

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

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

  • WSAEADDRINUSE 지정한 주소가 이미 사용 중입니다.

  • WSAEINPROGRESS Windows 소켓 블로킹 호출이 진행 중입니다.

  • WSAEADDRNOTAVAIL 지정 된 주소는 로컬 컴퓨터에서 사용할 수 없습니다.

  • WSAEAFNOSUPPORT 주소에 지정 된 제품군이이 소켓을 사용할 수 없습니다.

  • WSAECONNREFUSED 연결 시도가 거부 되었습니다.

  • WSAEDESTADDRREQ 대상 주소입니다.

  • WSAEFAULT 의 nSockAddrLen 인수가 잘못 되었습니다.

  • WSAEINVAL 잘못 된 호스트 주소입니다.

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

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

  • WSAENETUNREACH 네트워크에서이 호스트에 연결할 수 없습니다.

  • WSAENOBUFS버퍼 공간이 없습니다 사용할 수 있습니다.소켓을 연결할 수 없습니다.

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

  • WSAETIMEDOUT 에 연결 하지 않고 초과 연결을 시도 합니다.

  • 아닙니다 소켓 표시 비블로킹으로 연결이 즉시 완료할 수 없습니다.

설명

바인딩된 소켓을 바인딩 해제 되 고 시스템에서 로컬 연결에 고유한 값이 할당 됩니다 소켓으로 표시 된 경우입니다.면 모든 제로 이름 구조 주소 필드는 연결 0을 반환 합니다.확장 오류 정보를 표시 하기 위해 호출을 GetLastError 멤버 함수입니다.

스트림 소켓 (형식 SOCK_STREAM), 활성 연결 외부 호스트에 시작 됩니다.소켓 호출을 성공적으로 완료 되 면 소켓 데이터 보내기/받기 준비가 되었습니다.

데이터 그램 소켓에 대 한 (형식 SOCK_DGRAM), 다음에 사용 되는 기본 대상 설정 되어 보내기수신 호출.

요구 사항

헤더: afxsock.h

참고 항목

참조

CAsyncSocket 클래스

계층 구조 차트

CAsyncSocket::Accept

CAsyncSocket::Bind

CAsyncSocket::GetSockName

CAsyncSocket::Create

CAsyncSocket::AsyncSelect