SocketOptionName Enumeração
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
Define nomes de opção de configuração.
public enum class SocketOptionName
public enum SocketOptionName
type SocketOptionName =
Public Enum SocketOptionName
- Herança
Campos
| Nome | Valor | Description |
|---|---|---|
| DontLinger | -129 | Feche o soquete normalmente sem permanecer. |
| ExclusiveAddressUse | -5 | Permite que um soquete seja associado ao acesso exclusivo. |
| Debug | 1 | Registre informações de depuração. |
| IPOptions | 1 | Especifica as opções de IP a serem inseridas em datagramas de saída. |
| NoChecksum | 1 | Envie datagramas UDP com soma de verificação definida como zero. |
| NoDelay | 1 | Desabilita o algoritmo Nagle para união de envio. |
| AcceptConnection | 2 | O soquete está escutando. |
| BsdUrgent | 2 | Use dados urgentes conforme definido no RFC-1222. Essa opção pode ser definida apenas uma vez; depois de definida, ela não pode ser desativada. |
| Expedited | 2 | Use dados acelerados conforme definido no RFC-1222. Essa opção pode ser definida apenas uma vez; depois de definida, ela não pode ser desativada. |
| HeaderIncluded | 2 | Indica que o aplicativo fornece o cabeçalho IP para datagramas de saída. |
| TypeOfService | 3 | Altere o tipo de cabeçalho IP do campo de serviço. |
| IpTimeToLive | 4 | Defina o campo Tempo de vida útil do cabeçalho IP. |
| ReuseAddress | 4 | Permite que o soquete seja associado a um endereço que já está em uso. |
| KeepAlive | 8 | Use keep-alives. |
| MulticastInterface | 9 | Defina a interface para pacotes multicast de saída. |
| MulticastTimeToLive | 10 | Um tempo de transmissão multicast de IP ao vivo. |
| MulticastLoopback | 11 | Um loopback multicast de IP. |
| AddMembership | 12 | Adicione uma associação de grupo de IP. |
| DropMembership | 13 | Solte uma associação de grupo de IP. |
| DontFragment | 14 | Não fragmente os datagramas de IP. |
| AddSourceMembership | 15 | Ingresse em um grupo de origem. |
| DontRoute | 16 | Não rotear; envie o pacote diretamente para os endereços da interface. |
| DropSourceMembership | 16 | Solte um grupo de origem. |
| BlockSource | 17 | Bloquear dados de uma fonte. |
| UnblockSource | 18 | Desbloqueie uma origem bloqueada anteriormente. |
| PacketInformation | 19 | Retornar informações sobre pacotes recebidos. |
| ChecksumCoverage | 20 | Defina ou obtenha a cobertura da soma de verificação UDP. |
| HopLimit | 21 | Especifica o número máximo de saltos de roteador para um pacote IPv6 (Protocolo de Internet versão 6). Isso é semelhante ao TTL (Time to Live) para o Protocolo de Internet versão 4. |
| IPProtectionLevel | 23 | Habilita a restrição de um soquete IPv6 a um escopo especificado, como endereços com o mesmo prefixo local de link ou local do site. Essa opção de soquete permite que os aplicativos coloquem restrições de acesso em soquetes IPv6. Essas restrições permitem que um aplicativo em execução em uma LAN privada se proteja de forma simples e robusta contra ataques externos. Essa opção de soquete amplia ou restringe o escopo de um soquete de escuta, permitindo o acesso irrestrito de usuários públicos e privados quando apropriado ou restringindo o acesso somente ao mesmo site, conforme necessário. Essa opção de soquete definiu os níveis de proteção especificados na IPProtectionLevel enumeração. |
| IPv6Only | 27 | Indica se um soquete criado para a família de endereços AF_INET6 é restrito a apenas comunicações IPv6. Soquetes criados para a família de endereços AF_INET6 podem ser usados para comunicações IPv6 e IPv4. Alguns aplicativos podem querer restringir o uso de um soquete criado para a família de endereço AF_INET6 a apenas comunicações IPv6. Quando esse valor não é zero (o padrão em Windows), um soquete criado para a família de endereços AF_INET6 pode ser usado apenas para enviar e receber pacotes IPv6. Quando esse valor é zero, um soquete criado para a família de endereço AF_INET6 pode ser usado para enviar e receber pacotes para e de um endereço IPv6 ou um endereço IPv4. Observe que a capacidade de interagir com endereços IPv4 requer o uso dos endereços IPv4 mapeados. Essa opção de soquete tem suporte no Windows Vista ou posterior. |
| Broadcast | 32 | Permitir o envio de mensagens de transmissão no soquete. |
| UseLoopback | 64 | Ignorar o hardware quando possível. |
| Linger | 128 | Permaneça próximo se os dados não armazenados estiverem presentes. |
| OutOfBandInline | 256 | Recebe dados fora de banda no fluxo de dados normal. |
| SendBuffer | 4097 | Especifica o espaço total de buffer por soquete reservado para envios. Isso não está relacionado ao tamanho máximo da mensagem ou ao tamanho de uma janela TCP. |
| ReceiveBuffer | 4098 | Especifica o espaço total de buffer por soquete reservado para recebimentos. Isso não está relacionado ao tamanho máximo da mensagem ou ao tamanho de uma janela TCP. |
| SendLowWater | 4099 | Especifica a marca de água baixa para Send operações. |
| ReceiveLowWater | 4100 | Especifica a marca de água baixa para Receive operações. |
| SendTimeout | 4101 | Enviar um tempo limite. Essa opção se aplica somente a métodos síncronos; não tem efeito sobre métodos assíncronos, como o BeginSend(Byte[], Int32, Int32, SocketFlags, AsyncCallback, Object) método. |
| ReceiveTimeout | 4102 | Receba um tempo limite. Essa opção se aplica somente a métodos síncronos; não tem efeito sobre métodos assíncronos, como o BeginSend(Byte[], Int32, Int32, SocketFlags, AsyncCallback, Object) método. |
| Error | 4103 | Obtém o status do erro e limpa. |
| Type | 4104 | Obtém o tipo de soquete. |
| ReuseUnicastPort | 12295 | Indica que o sistema deve adiar a alocação de porta efêmera para conexões de saída. Isso equivale a usar a opção de soquete SO_REUSE_UNICASTPORT Winsock2. |
| UpdateAcceptContext | 28683 | Atualiza as propriedades de um soquete aceito usando as de um soquete existente. Isso é equivalente a usar a opção de soquete SO_UPDATE_ACCEPT_CONTEXT Winsock2 e tem suporte apenas em soquetes orientados à conexão. |
| UpdateConnectContext | 28688 | Atualiza as propriedades de um soquete conectado usando as de um soquete existente. Isso equivale a usar a opção de soquete SO_UPDATE_CONNECT_CONTEXT Winsock2 e tem suporte apenas em soquetes orientados à conexão. |
| MaxConnections | 2147483647 | Sem suporte; lançará um SocketException se usado. |
Exemplos
O exemplo de código a seguir usa essa enumeração para definir opções de soquete.
// The socket will linger for 10 seconds after Socket.Close is called.
var lingerOption = new LingerOption(true, 10);
s.SetSocketOption(SocketOptionLevel.Socket, SocketOptionName.Linger, lingerOption);
' The socket will linger for 10 seconds after Socket.Close is called.
Dim lingerOption As New LingerOption(True, 10)
s.SetSocketOption(SocketOptionLevel.Socket, SocketOptionName.Linger, lingerOption)
Comentários
A SocketOptionName enumeração define o nome de cada Socket opção de configuração. Soquetes podem ser configurados com o Socket.SetSocketOption método.