Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
Especifica si las operaciones de socket usan puertos de finalización.
<configuración>
<system.net>
<Configuración>
<enchufe>
Syntax
<socket
alwaysUseCompletionPortsForConnect="true|false"
alwaysUseCompletionPortsForAccept="true|false"
ipProtectionLevel="EdgeRestricted|Restricted|Unrestricted|Unspecified"
/>
Atributos y elementos
En las siguientes secciones se describen los atributos, los elementos secundarios y los elementos primarios.
Attributes
| Atributo | Descripción |
|---|---|
alwaysUseCompletionPortsForAccept |
Indica si el socket siempre debe usar puertos de finalización para las llamadas al método Accept. El valor predeterminado es false. |
alwaysUseCompletionPortsForConnect |
Indica si el socket siempre debe usar puertos de finalización para las llamadas al método Connect. El valor predeterminado es false. |
ipProtectionLevel |
Especifica el valor predeterminado System.Net.Sockets.IPProtectionLevel que se va a usar para un socket. El valor predeterminado depende de la versión de Windows. |
Elementos secundarios
Ninguno.
Elementos primarios
| Elemento | Descripción |
|---|---|
| configuración | Configura las opciones de red básicas para el System.Net espacio de nombres. |
Observaciones
Los alwaysUseCompletionPortsForAccept atributos y alwaysUseCompletionPortsForConnect se usan para especificar el comportamiento predeterminado con respecto al uso de puertos de finalización por las clases del System.Net.Socketsespacio de nombres .. Se recomiendan puertos de finalización para aplicaciones de servidor de alto rendimiento.
El valor predeterminado de los alwaysUseCompletionPortsForAccept atributos y alwaysUseCompletionPortsForConnect es false.
AlwaysUseCompletionPortsForAccept se puede usar para obtener el valor actual del atributo de los alwaysUseCompletionPortsForAccept archivos de configuración aplicables.
AlwaysUseCompletionPortsForConnect se puede usar para obtener el valor actual del atributo de los alwaysUseCompletionPortsForConnect archivos de configuración aplicables.
El ipProtectionLevel atributo especifica el valor predeterminado System.Net.Sockets.IPProtectionLevel que se va a usar para un socket. La IPProtectionLevel propiedad habilita la configuración de una restricción para un socket IPv6 en un ámbito especificado, como direcciones con el mismo prefijo local de vínculo o sitio local. Esta opción permite a las aplicaciones colocar restricciones de acceso en sockets IPv6. Estas restricciones permiten que una aplicación que se ejecute en una LAN privada se proteja de forma sencilla y sólida frente a ataques externos. Esta opción amplía o limita el ámbito de un socket de escucha, lo que permite el acceso sin restricciones de los usuarios públicos y privados cuando corresponda, o restringe el acceso solo al mismo sitio, según sea necesario.
Esta ipProtectionLevel configuración de atributo solo afecta al tráfico entrante inicial:
Un servidor TCP que escucha las conexiones entrantes en un socket.
Una aplicación UDP que recibe un paquete en un socket.
Esta configuración no afecta a las conexiones TCP ya establecidas (el tráfico no está restringido en ambas direcciones) y no afecta a una aplicación que envía paquetes UDP.
Los valores posibles para la configuración de ipProtectionLevel atributo corresponden a los niveles de protección definidos especificados en la enumeración de la System.Net.Sockets.IPProtectionLevel siguiente manera:
| Valor de atributo | Descripción |
|---|---|
| EdgeRestricted | El nivel de protección IP está restringido por bordes. Este valor lo usarían las aplicaciones diseñadas para operar a través de Internet. Esta configuración no permite el recorrido de traducción de direcciones de red (NAT) mediante la implementación de Windows Teredo. Estas aplicaciones pueden omitir firewalls IPv4, por lo que las aplicaciones deben protegerse frente a ataques de Internet dirigidos al puerto abierto. En Windows Server 2003 y Windows XP, el valor predeterminado para el nivel de protección IP en un socket está restringido al borde. |
| Restringido | El nivel de protección IP está restringido. Las aplicaciones de intranet que no implementan escenarios de Internet usarían este valor. Por lo general, estas aplicaciones no se prueban ni protegen contra ataques de estilo internet. Esta configuración limitará el tráfico recibido solo a un vínculo local. |
| Sin restricciones | El nivel de protección IP no está restringido. Este valor lo usarían las aplicaciones diseñadas para operar a través de Internet, incluidas las aplicaciones que aprovechan las funcionalidades de recorrido NAT de IPv6 integradas en Windows (Teredo, por ejemplo). Estas aplicaciones pueden omitir firewalls IPv4, por lo que las aplicaciones deben protegerse frente a ataques de Internet dirigidos al puerto abierto. En Windows Server 2008 R2 y Windows Vista, el valor predeterminado para el nivel de protección IP en un socket no está restringido. |
| Sin especificar | El nivel de protección IP no está especificado. En Windows 7 y Windows Server 2008 R2, no se especifica el valor predeterminado para el nivel de protección IP en un socket. |
El valor predeterminado del ipProtectionLevel atributo es Unspecified.
La IPProtectionLevel propiedad se puede usar para obtener el valor actual del atributo de los ipProtectionLevel archivos de configuración aplicables.
Archivos de configuración
Este elemento se puede usar en el archivo de configuración de la aplicación o en el archivo de configuración de la máquina (Machine.config).
Example
En el ejemplo siguiente se muestra cómo especificar que se deben usar los puertos de finalización y que el valor predeterminado System.Net.Sockets.IPProtectionLevel debe estar sin restricciones.
<configuration>
<system.net>
<settings>
<socket
alwaysUseCompletionPortsForAccept="true"
alwaysUseCompletionPortsForConnect="true"
ipProtectionLevel="Unrestricted"
/>
</settings>
</system.net>
</configuration>