Partilhar via


<socket> Elemento (configurações de rede)

Especifica se as operações de soquete usam portas de conclusão.

<socket
  alwaysUseCompletionPortsForConnect="true|false"
  alwaysUseCompletionPortsForAccept="true|false"
  ipProtectionLevel ="EdgeRestricted|Restricted|Unrestricted|Unspecified"
/socket>

Atributos e elementos

As seções a seguir descrevem atributos, elementos filho, e elementos pai.

Atributos

Atributo

Descrição

alwaysUseCompletionPortsForAccept

Indica se o soquete deve sempre usar portas de conclusão para aceitar chamadas de método. O valor padrão é false.

alwaysUseCompletionPortsForConnect

Indica se o soquete deve sempre usar portas de conclusão para chamadas de método de conexão. O valor padrão é false.

ipProtectionLevel

Especifica o padrão System.Net.Sockets.IPProtectionLevel para usar um soquete. O valor padrão depende da versão do Windows.

Elementos filho

Nenhum.

Elementos pai

Elemento

Descrição

configurações

Configura opções de rede básica para o System.Net namespace.

Comentários

O alwaysUseCompletionPortsForAccept e alwaysUseCompletionPortsForConnect atributos são usados para especificar o comportamento padrão sobre o uso de portas de conclusão pelas classes na System.Net.Sockets. espaço para nome. Portas de conclusão são recomendadas para aplicativos de servidor de alto desempenho.

O valor padrão para o alwaysUseCompletionPortsForAccept e alwaysUseCompletionPortsForConnect atributos é false.

O AlwaysUseCompletionPortsForAccept pode ser usado para obter o valor atual da alwaysUseCompletionPortsForAccept atributo dos arquivos de configuração aplicável. O AlwaysUseCompletionPortsForConnect pode ser usado para obter o valor atual da alwaysUseCompletionPortsForConnect atributo dos arquivos de configuração aplicável.

O ipProtectionLevel atributo especifica o padrão System.Net.Sockets.IPProtectionLevel para usar um soquete. O IPProtectionLevel propriedade permite a configuração de uma restrição para um soquete de IPv6 para um escopo especificado, como endereços com o mesmo link local ou o site o prefixo local. Esta opção permite que aplicativos colocar restrições de acesso nos soquetes do IPv6. Tais restrições permitem que um aplicativo em execução em uma LAN privada simplesmente e verdadeiramente proteger-se contra ataques externos. Essa opção amplia ou restringe o escopo de um soquete de escuta, permitindo acesso irrestrito de usuários públicos e privados quando apropriado, ou restringir o acesso somente ao mesmo site, conforme necessário.

Isso ipProtectionLevel Configuração do atributo afeta somente tráfego de entrada inicial:

  • Um servidor TCP para conexões de entrada em um soquete de escuta.

  • Um aplicativo de UDP receber um pacote em um soquete.

Esta configuração não afeta as conexões TCP já estabelecidas (tráfego irrestrito em ambas as direções) e não afeta a um aplicativo de envio de pacotes UDP.

Os possíveis valores para o ipProtectionLevel Configuração do atributo correspondem com os níveis de proteção definido especificados na System.Net.Sockets.IPProtectionLevel a enumeração da seguinte maneira:

Valor atribuído

Descrição

EdgeRestricted

O nível de proteção de IP é restringida de borda. Esse valor seria usado por aplicativos projetados para operar através da Internet. Essa configuração não permitir a travessia de Network Address Translation (NAT), usando a implementação do Windows Teredo. Esses aplicativos podem ignorar firewalls IPv4, para que os aplicativos devem ser reforçados contra ataques da Internet dirigidas a porta aberta. No Windows Server 2003 e Windows XP, o valor padrão para o nível de proteção de IP em um soquete é restringida de borda.

Restrito

O nível de proteção de IP é restrito. Esse valor seria usado por aplicativos de intranet que não implementam os cenários de Internet. Esses aplicativos geralmente não são testados ou protegidos contra ataques de estilo de Internet. Essa configuração limitará o tráfego recebido para link-local apenas.

Irrestrito:

O nível de proteção de IP é irrestrito. Esse valor seria usado por aplicativos projetados para operar através da Internet, incluindo aplicativos tirar proveito dos recursos do IPv6 NAT traversal criados no Windows (Teredo, por exemplo). Esses aplicativos podem ignorar firewalls IPv4, para que os aplicativos devem ser reforçados contra ataques da Internet dirigidas a porta aberta. No Windows Server 2008 R2 e Windows Vista, o valor padrão para o nível de proteção de IP em um soquete é irrestrito.

Não especificado

O nível de proteção de IP não for especificado. No Windows 7 e Windows Server 2008 R2, o valor padrão para o nível de proteção de IP em um soquete é não especificado.

O valor padrão para o ipProtectionLevel atributo é não especificado.

O IPProtectionLevel propriedade pode ser usada para obter o valor atual da ipProtectionLevel atributo dos arquivos de configuração aplicável.

Configuration Files

Esse elemento pode ser usado no arquivo de configuração do aplicativo ou o arquivo de configuração da máquina (Machine. config).

Exemplo

O exemplo de código a seguir mostra como especificar que as portas de conclusão devem ser usadas e que o padrão System.Net.Sockets.IPProtectionLevel deve ser irrestritas.

<configuration>
  <system.net>
    <settings>
      <socket
        alwaysUseCompletionPortsForAccept="true"
        alwaysUseCompletionPortsForConnect="true"
        ipProtectionLevel="Unrestricted"
       />
    </settings>
  </system.net>
</configuration>

Consulte também

Referência

Esquema configurações de rede

System.Net

System.Net.Configuration.SocketElement

System.Net.Sockets

System.Net.Sockets.IPProtectionLevel

SocketOptionName.IPProtectionLevel