CAsyncSocket::GetSockOpt

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

Valor de retorno

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

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 inteiro apontado pelo lpOptionLen originalmente deve conter o tamanho desse buffer em bytes; e no retorno, ela será definida para o tamanho do valor retornado. Para SO_LINGER, esse será o tamanho de uma estrutura LINGER ; para todas as outras opções será o tamanho de um BOOL ou um int, dependendo da opção. Consulte a lista de opções e seus tamanhos na seção Comentários.

lpOptionLen

Um ponteiro para o tamanho do buffer lpOptionValue em bytes.

nLevel

O nível no qual a opção é definida; os níveis com suporte somente são SOL_SOCKET e IPPROTO_TCP.

Observações

Chame essa função de membro para recuperar uma opção de soquete. GetSockOpt recupera o atual valor para uma opção Soquete associado com um soquete de qualquer tipo, em qualquer Estado e armazena o resultado em lpOptionValue. Opções afetam operações Soquete, como o roteamento de pacotes, transferência de dados fora de banda e assim por diante.

As seguintes opções são com suporte para GetSockOpt. O tipo identifica o tipo de dados endereçados pelo lpOptionValue. A opção TCP_NODELAY usa nível IPPROTO_TCP; todas as outras opções usam nível SOL_SOCKET.

Valor Tipo Significado
SO_ACCEPTCONN BOOL Soquete está escutando.
SO_BROADCAST BOOL Soquete é configurado para a transmissão de mensagens de difusão.
SO_DEBUG BOOL Depuração está habilitado.
SO_DONTLINGER BOOL Se true, a opção SO_LINGER está desativada.
SO_DONTROUTE BOOL O roteamento está desativado.
SO_ERROR int Recuperar o status de erro e limpar.
SO_KEEPALIVE BOOL O Keep-Alive está sendo enviado.
SO_LINGER estrutura LINGER Retorna o atual linger opções.
SO_OOBINLINE BOOL Dados fora de banda está sendo recebidos na fluxo de dados normal.
SO_RCVBUF int Tamanho do buffer para recebe.
SO_REUSEADDR BOOL O soquete pode ser ligado a um endereço que já está em uso.
SO_SNDBUF int Tamanho do buffer para envia.
SO_TYPE int O tipo de soquete (por exemplo, SOCK_STREAM).
TCP_NODELAY BOOL Desativa o algoritmo Nagle para coalescing de envio.

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

Valor Tipo Significado
SO_RCVLOWAT int Recebe marca low water.
SO_RCVTIMEO int Receber tempo limite.
SO_SNDLOWAT int Envie marca low water.
SO_SNDTIMEO int Envie tempo limite.
IP_OPTIONS Obter opções no cabeçalho IP.
TCP_MAXSEG int Obter o tamanho máximo de segmento TCP.

Chamada GetSockOpt com um sem suporte opção resultará em um código de erro de WSAENOPROTOOPT sendo retornados de GetLastError.

Visão geral de CAsyncSocket |nbsp; Membros de classe | Gráfico de hierarquia

Co&nsulte tambémnbsp;CAsyncSocket::SetSockOpt

Index