CAsyncSocket::GetSockOpt

Chame essa função de membro para recuperar uma opção de soquete.

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

Parâmetros

  • nOptionName
    A opção de soquete para o qual o valor é a serem recuperados.

  • lpOptionValue
    Um ponteiro para o buffer no qual o valor para a opção solicitada é a ser retornado.O valor associado com a opção selecionada é retornado no buffer lpOptionValue. O número inteiro apontada por lpOptionLen originalmente deve conter o dimensionar desse buffer em bytes; e no retorno, ele será conjunto o dimensionar do valor retornado. For SO_LINGER, esse será o dimensionar de um LINGER estruturar; para todas as Outros opções será o dimensionar de um BOOL or an int, dependendo da opção. Consulte a lista de opções e seus tamanhos na seção comentários.

  • lpOptionLen
    Um ponteiro para o dimensionar do lpOptionValue buffer em bytes.

  • nLevel
    O nível em que a opção é definida; os níveis com suporte somente são SOL_SOCKET and IPPROTO_TCP.

Valor de retorno

Diferente de zero se a função for bem-sucedida; caso contrário, 0, e um código de erro específico pode ser recuperado chamando GetLastError.Se uma opção nunca foi definida com SetSockOpt, em seguida, GetSockOpt Retorna o valor padrão para a opção. Os seguintes erros se aplicam a essa função de membro:

  • WSANOTINITIALISED   Um bem-sucedida AfxSocketInit deve ocorrer antes de usar essa API.

  • WSAENETDOWN   A implementação do Windows Sockets detectou que o subsistema de rede falhou.

  • WSAEFAULT   The lpOptionLen argumento inválido.

  • WSAEINPROGRESS   Uma operação de bloqueio de Windows Sockets está em andamento.

  • WSAENOPROTOOPT   A opção é desconhecido ou sem suporte.Em particular, SO_BROADCAST não tem suporte em soquetes do tipo SOCK_STREAM, while SO_ACCEPTCONN, SO_DONTLINGER, SO_KEEPALIVE, SO_LINGER, and SO_OOBINLINE não são suportados em soquetes do tipo SOCK_DGRAM.

  • WSAENOTSOCK   O descritor não é um soquete.

Comentários

GetSockOpt recupera o valor corrente para uma opção de soquete associada a um soquete de qualquer tipo, em qualquer estado e armazena o resultado no lpOptionValue. Opções afetam operações de soquete, sistema autônomo o roteamento de pacotes, transferência de dados fora de banda e assim por diante.

As opções a seguir são suportadas para GetSockOpt. O tipo identifica o tipo de dados abordados por lpOptionValue. The TCP_NODELAY opção usa nível IPPROTO_TCP; todas as outras opções de uso nível SOL_SOCKET.

Valor

Type (Tipo)

Significado

SO_ACCEPTCONN

BOOL

Soquete está escutando.

SO_BROADCAST

BOOL

Soquete é configurado para difundido de mensagens de difundido.

SO_DEBUG

BOOL

A depuração está habilitada.

SO_DONTLINGER

BOOL

Se verdadeiro, a SO_LINGER opção está desabilitado.

SO_DONTROUTE

BOOL

O roteamento desabilitado.

SO_ERROR

int

Recuperar o status de erro e desmarcar.

SO_KEEPALIVE

BOOL

Keep-alives estão sendo enviadas.

SO_LINGER

struct LINGER

Retorna as opções linger corrente.

SO_OOBINLINE

BOOL

Dados fora de banda está sendo recebidos no fluxo de dados normal.

SO_RCVBUF

int

dimensionar do buffer para recebe.

SO_REUSEADDR

BOOL

O soquete pode ser limite a um endereço que já está em uso.

SO_SNDBUF

int

dimensionar do buffer de envia.

SO_TYPE

int

O tipo de soquete (por exemplo, SOCK_STREAM).

TCP_NODELAY

BOOL

Desativa o algoritmo Nagle para concentração de enviar.

Opções de Berkeley Software Distribution (BSD) não tem suportadas para GetSockOpt são:

Valor

Type (Tipo)

Significado

SO_RCVLOWAT

int

Receba marca d ' água baixa.

SO_RCVTIMEO

int

Receba tempo limite.

SO_SNDLOWAT

int

enviar marca d ' água baixa.

SO_SNDTIMEO

int

Envie o tempo limite.

IP_OPTIONS

 

Obtenha opções no cabeçalho IP.

TCP_MAXSEG

int

Obter o dimensionar máximo de segmento TCP.

De chamadaGetSockOpt com uma opção para o qual não há suporte resultará em um código de erro WSAENOPROTOOPT sendo retornados a partir de GetLastError.

Requisitos

Cabeçalho: afxsock.h

Consulte também

Referência

Classe CAsyncSocket

Gráfico de hierarquia

CAsyncSocket::SetSockOpt

Outros recursos

CAsyncSocket membros