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