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
AcceptConnection | 2 | O soquete está escutando. |
AddMembership | 12 | Adicione uma associação de grupo de IP. |
AddSourceMembership | 15 | Ingresse em um grupo de origem. |
BlockSource | 17 | Bloquear dados de uma fonte. |
Broadcast | 32 | Permitir o envio de mensagens de transmissão no soquete. |
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. |
ChecksumCoverage | 20 | Defina ou obtenha a cobertura da soma de verificação UDP. |
Debug | 1 | Registrar informações de depuração. |
DontFragment | 14 | Não fragmente os datagramas de IP. |
DontLinger | -129 | Feche o soquete normalmente sem permanecer. |
DontRoute | 16 | Não rotear; envie o pacote diretamente para os endereços da interface. |
DropMembership | 13 | Solte uma associação de grupo de IP. |
DropSourceMembership | 16 | Solte um grupo de origem. |
Error | 4103 | Obtém o status do erro e limpa. |
ExclusiveAddressUse | -5 | Permite que um soquete seja associado ao acesso exclusivo. |
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. |
FastOpen | 15 | Habilita o TCP Fast Open conforme definido em RFC-7413. O comportamento real observado depende da configuração do sistema operacional e do estado do cache de cookie TCP do kernel. Habilitar o TFO pode afetar a interoperabilidade e causar problemas de conectividade. |
HeaderIncluded | 2 | Indica que o aplicativo fornece o cabeçalho IP para datagramas de saída. |
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. |
IPOptions | 1 | Especifica as opções de IP a serem inseridas em datagramas de saída. |
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 enumeração IPProtectionLevel. |
IpTimeToLive | 4 | Defina o campo Tempo de vida útil do cabeçalho IP. |
IPv6Only | 27 | Indica se um soquete criado para a família de endereços AF_INET6 está restrito apenas às 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ços AF_INET6 somente para comunicações IPv6. Quando esse valor não é zero (o padrão no 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ços AF_INET6 pode ser usado para enviar e receber pacotes de e para um endereço IPv6 ou um endereço IPv4. Observe que a capacidade de interagir com um endereço IPv4 requer o uso de endereços mapeados IPv4. Essa opção de soquete tem suporte no Windows Vista ou posterior. |
KeepAlive | 8 | Use keep-alives. |
Linger | 128 | Permaneça próximo se os dados não armazenados estiverem presentes. |
MaxConnections | 2147483647 | Sem suporte; gerará um SocketException se usado. |
MulticastInterface | 9 | Defina a interface para pacotes multicast de saída. |
MulticastLoopback | 11 | Um loopback multicast de IP. |
MulticastTimeToLive | 10 | Um tempo de transmissão multicast de IP ao vivo. |
NoChecksum | 1 | Envie datagramas UDP com soma de verificação definida como zero. |
NoDelay | 1 | Desabilita o algoritmo Nagle para enviar a coalescagem. |
OutOfBandInline | 256 | Recebe dados fora de banda no fluxo de dados normal. |
PacketInformation | 19 | Retornar informações sobre pacotes recebidos. |
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. |
ReceiveLowWater | 4100 | Especifica a marca de água baixa para operações de Receive. |
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 método BeginSend(Byte[], Int32, Int32, SocketFlags, AsyncCallback, Object). |
ReuseAddress | 4 | Permite que o soquete seja associado a um endereço que já está em uso. |
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. |
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. |
SendLowWater | 4099 | Especifica a marca de água baixa para operações de Send. |
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 método BeginSend(Byte[], Int32, Int32, SocketFlags, AsyncCallback, Object). |
TcpKeepAliveInterval | 17 | O número de segundos que uma conexão TCP aguardará por uma resposta keepalive antes de enviar outra investigação keepalive. |
TcpKeepAliveRetryCount | 16 | O número de investigações TCP keep alive que serão enviadas antes que a conexão seja encerrada. |
TcpKeepAliveTime | 3 | O número de segundos em que uma conexão TCP permanecerá ativa/ociosa antes que as investigações keepalive sejam enviadas para o remoto. |
Type | 4104 | Obtém o tipo de soquete. |
TypeOfService | 3 | Altere o tipo de cabeçalho IP do campo de serviço. |
UnblockSource | 18 | Desbloqueie uma origem bloqueada anteriormente. |
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. |
UseLoopback | 64 | Ignorar o hardware quando possível. |
Exemplos
O exemplo de código a seguir usa essa enumeração para definir opções de soquete.
// Specifies that the Socket will linger for 10 seconds after Close is called.
LingerOption^ lingerOption = gcnew LingerOption(true, 10);
s->SetSocketOption(SocketOptionLevel::Socket, SocketOptionName::Linger, lingerOption);
// 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 enumeração SocketOptionName define o nome de cada opção de configuração Socket. Soquetes podem ser configurados com o método Socket.SetSocketOption.