Opções de soquete e IOCTLs
Algumas das opções de soquete do Windows Sockets 2 são resumidas na tabela a seguir. Informações mais detalhadas são fornecidas na seção 4 em WSPGetSockOpt e/ou WSPSetSockOpt. Existem outras novas opções de soquete específicas do protocolo que podem ser encontradas no Anexo Específico do Protocolo. Uma lista completa de Opções de Soquete para Windows Sockets está disponível na referência Winsock.
Para um resumo de alguns dos Ioctls Winsock, consulte Resumo de Opcodes de IOCTL de Soquete. Uma lista completa de IOCTLs Winsock estão disponíveis na referência Winsock.
Resumo das opções comuns de soquete
Um provedor de serviços Winsock deve reconhecer todas essas opções e (para WSPGetSockOpt) retornar valores plausíveis para cada uma. O valor padrão para cada opção é mostrado na tabela a seguir.
Valor
Tipo
Significado
Padrão
Observação
SO_ACCEPTCONN
BOOL
O soquete está escutando.
FALSE a menos que um WSPListen tenha sido executado.
SO_BROADCAST
BOOL
O soquete é configurado para a transmissão e o recebimento de mensagens de transmissão.
FALSE
SO_DEBUG
BOOL
A depuração está habilitada
FALSE
(i)
SO_DONTLINGER
BOOL
Se for true, a opção SO_LINGER será desabilitada.
TRUE
SO_DONTROUTE
BOOL
O roteamento está desabilitado. Obtém êxito, mas é ignorado em soquetes AF_INET; falha em soquetes AF_INET6 com WSAENOPROTOOPT. Não suportado em tomadas ATM (resulta em um erro).
FALSE
(i)
SO_ERROR
INT
Recupera o status do erro e limpa.
0
SO_GROUP_ID
GROUP
Reservado.
NULO
Obtém somente
SO_GROUP_PRIORITY
INT
Reservado.
0
BOOL
Keepalives estão sendo enviados. Não suportado em tomadas ATM (resulta em um erro).
FALSE
(i)
SO_LINGER
A estrutura permanece
Retorna as opções persistentes atuais.
l_onoff é 0
SO_MAX_MSG_SIZE
INT
Tamanho máximo de saída de uma mensagem para tipos de soquete de mensagem. Não há nenhuma provisão para determinar o tamanho máximo da mensagem de entrada. Não tem significado para soquetes orientados a fluxo.
Dependente da implementação
Obtém somente
SO_OOBINLINE
BOOL
Os dados do OOB estão sendo recebidos no fluxo de dados normal.
FALSE
SO_PROTOCOL_INFOW
estrutura WSAPROTOCOL_INFO
Descrição das informações de protocolo para o protocolo que está vinculado a este soquete.
Dependente do protocolo
Obtém somente
SO_RCVBUF
INT
O espaço total de buffer por soquete reservado para recebimentos. Isso não está relacionado ao SO_MAX_MSG_SIZE e não corresponde necessariamente ao tamanho da janela de recebimento TCP.
Dependente da implementação
(i)
SO_REUSEADDR
BOOL
O endereço ao qual esse soquete está vinculado pode ser usado por outras pessoas. Não aplicável em soquetes ATM.
FALSE
SO_SNDBUF
INT
O espaço do buffer total por soquete reservado para recebimentos. Isso não está relacionado ao SO_MAX_MSG_SIZE e não corresponde necessariamente ao tamanho da janela de recebimento TCP.
Dependente da implementação
(i)
SO_TYPE
INT
O tipo do soquete (por exemplo, SOCK_STREAM).
Como criado através de soquete.
PVD_CONFIG
char FAR *
Um objeto de estrutura de dados opaco que contém informações de configuração do provedor de serviços.
Dependente da implementação
TCP_NODELAY
BOOL
Desabilita o algoritmo Nagle para união de envio.
Dependente da implementação
(i) Um provedor de serviços pode ignorar silenciosamente essa opção em WSPSetSockOpt e retornar um valor constante WSPGetSockOpt, ou pode aceitar um valor para WSPSetSockOpte retornar o valor correspondente em WSPGetSockOpt sem usar o valor de forma alguma.
Tópicos relacionados