다음을 통해 공유


CAsyncSocket::GetSockOpt

소켓 옵션을 검색 하려면이 멤버 함수를 호출 합니다.

BOOL GetSockOpt(
   int nOptionName,
   void* lpOptionValue,
   int* lpOptionLen,
   int nLevel = SOL_SOCKET 
);

매개 변수

  • nOptionName
    소켓 옵션 값을 검색할 수 있습니다.

  • lpOptionValue
    요청 된 옵션의 값을 반환 하는 버퍼에 대 한 포인터입니다.선택한 옵션과 연결 된 값이 버퍼에 반환 됩니다 lpOptionValue.정수 여를 가리키는 lpOptionLen (바이트)입니다;이 버퍼 크기를 원래 포함 되어야 고 수익을 반환 하는 값의 크기로 설정 됩니다.에 대 한 SO_LINGER,이 수의 크기는 LINGER 구조. 다른 모든 옵션을 해당 크기의 수는 BOOL 또는 int옵션에 따라.비고 섹션의 크기와 옵션 목록을 참조 하십시오.

  • lpOptionLen
    포인터의 크기는 lpOptionValue 바이트에서 버퍼.

  • nLevel
    옵션에서 정의 된 수준. 유일한 지원 되는 수준은 SOL_SOCKETIPPROTO_TCP.

반환 값

함수가 성공 하면 0이 아닌. 그렇지 않으면 0이 고 특정 오류 코드를 호출 하 여 검색할 수 있는 GetLastError.옵션을 전혀 설정 되어 있는 경우 SetSockOpt, 다음 GetSockOpt 옵션에 대해 기본값을 반환 합니다.다음 오류는이 멤버 함수에 적용 됩니다.

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

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

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

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

  • WSAENOPROTOOPT 알 수 없거나 지원 되지 않는 옵션입니다.특히 SO_BROADCAST 형식의 소켓에서 지원 되지 않는 SOCK_STREAM, 하지만 SO_ACCEPTCONN, SO_DONTLINGER, SO_KEEPALIVE, SO_LINGER, 및 SO_OOBINLINE 형식의 소켓에서 지원 되지 않습니다 SOCK_DGRAM.

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

설명

GetSockOpt연결 된 상태에서 모든 종류의 소켓에 소켓 옵션의 현재 값을 검색 하 고 결과를 저장 합니다. lpOptionValue.옵션 같은 라우팅 패킷, 밴드의 데이터 전송 등과의 소켓 작업을 영향을 줍니다.

다음 옵션에 대 한 지 GetSockOpt.형식으로 주소가 지정 된 데이터 형식을 lpOptionValue.TCP_NODELAY 수준 옵션을 사용 하 여 IPPROTO_TCP. 수준이 다른 모든 옵션 사용 SOL_SOCKET.

형식

의미

SO_ACCEPTCONN

BOOL

소켓이 수신 중입니다.

SO_BROADCAST

BOOL

소켓의 브로드캐스트 메시지 전송에 대 한 구성 됩니다.

SO_DEBUG

BOOL

디버깅을 사용할 수 있습니다.

SO_DONTLINGER

BOOL

True 인 경우는 SO_LINGER 옵션 사용 안 함.

SO_DONTROUTE

BOOL

라우팅을 사용할 수 없습니다.

SO_ERROR

int

오류 상태를 검색 하 고 선택을 취소 합니다.

SO_KEEPALIVE

BOOL

보내는 유지 합니다.

SO_LINGER

LINGER 구조체

현재 linger 옵션을 반환합니다.

SO_OOBINLINE

BOOL

일반 데이터 스트림에서 대역의 데이터 수신 속도.

SO_RCVBUF

int

버퍼 크기를 받습니다.

SO_REUSEADDR

BOOL

소켓이 이미 사용 중인 주소에 바인딩할 수 있습니다.

SO_SNDBUF

int

버퍼 크기를 보냅니다.

SO_TYPE

int

소켓의 종류 (예를 들어, SOCK_STREAM).

TCP_NODELAY

BOOL

보내기 통합을 위해 Nagle 알고리즘을 비활성화합니다.

버클리 소프트웨어 배포 (BSD) 옵션에 대 한 없습니다 GetSockOpt 입니다.

형식

의미

SO_RCVLOWAT

int

저품질 워터 마크를 나타납니다.

SO_RCVTIMEO

int

시간 제한을 받습니다.

SO_SNDLOWAT

int

저품질 워터 마크를 보냅니다.

SO_SNDTIMEO

int

제한 시간을 보냅니다.

IP_OPTIONS

 

옵션을 IP 헤더에서 가져옵니다.

TCP_MAXSEG

int

TCP 최대 세그먼트 크기를 가져옵니다.

호출 GetSockOpt 지원 되지 않는 옵션의 오류 코드에서 발생 합니다 WSAENOPROTOOPT 에서 반환 하는 GetLastError.

요구 사항

헤더: afxsock.h

참고 항목

참조

CAsyncSocket 클래스

계층 구조 차트

CAsyncSocket::SetSockOpt