Freigeben über


<socket> Element (Netzwerkeinstellungen)

Gibt an, ob Socketvorgänge Vervollständigungsports verwenden.

<configuration>
  <system.net>
    <settings>
      <socket>

Syntax

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

Attribute und Elemente

In den folgenden Abschnitten werden Attribute sowie untergeordnete und übergeordnete Elemente beschrieben.

Attribute

Attribut Beschreibung
alwaysUseCompletionPortsForAccept Gibt an, ob der Socket immer Abschlussports für Accept-Methodenaufrufe verwenden soll. Der Standardwert ist false.
alwaysUseCompletionPortsForConnect Gibt an, ob der Socket immer Vervollständigungsports für Connect-Methodenaufrufe verwenden soll. Der Standardwert ist false.
ipProtectionLevel Gibt die Standardeinstellung System.Net.Sockets.IPProtectionLevel für einen Socket an. Der Standardwert hängt von der Windows-Version ab.

Untergeordnete Elemente

Keiner.

Übergeordnete Elemente

Element Beschreibung
Einstellungen Konfiguriert grundlegende Netzwerkoptionen für den System.Net Namespace.

Bemerkungen

Die alwaysUseCompletionPortsForAccept Attribute alwaysUseCompletionPortsForConnect und Attribute werden verwendet, um das Standardverhalten für die Verwendung von Vervollständigungsports durch die Klassen im System.Net.SocketsNAMESPACE anzugeben. Abschlussports werden für Hochleistungsserveranwendungen empfohlen.

Der Standardwert für die alwaysUseCompletionPortsForAccept Und-Attribute alwaysUseCompletionPortsForConnect ist "false".

Dies AlwaysUseCompletionPortsForAccept kann verwendet werden, um den aktuellen Wert des alwaysUseCompletionPortsForAccept Attributs aus den entsprechenden Konfigurationsdateien abzurufen. Dies AlwaysUseCompletionPortsForConnect kann verwendet werden, um den aktuellen Wert des alwaysUseCompletionPortsForConnect Attributs aus den entsprechenden Konfigurationsdateien abzurufen.

Das ipProtectionLevel Attribut gibt die Standardeinstellung System.Net.Sockets.IPProtectionLevel für einen Socket an. Die IPProtectionLevel Eigenschaft ermöglicht die Konfiguration einer Einschränkung für einen IPv6-Socket in einen angegebenen Bereich, z. B. Adressen mit demselben lokalen Link- oder Standortpräfix. Mit dieser Option können Anwendungen Zugriffsbeschränkungen für IPv6-Sockets festlegen. Solche Einschränkungen ermöglichen es einer Anwendung, die auf einem privaten LAN ausgeführt wird, sich einfach und robust gegen externe Angriffe zu erhärten. Mit dieser Option wird der Umfang eines Überwachungssockets erweitert oder eingeschränkt, sodass der uneingeschränkte Zugriff von öffentlichen und privaten Benutzern bei Bedarf aktiviert oder nur auf denselben Standort beschränkt wird.

Diese ipProtectionLevel Attributeinstellung wirkt sich nur auf den anfänglichen eingehenden Datenverkehr aus:

  • Ein TCP-Server, der auf eingehende Verbindungen in einem Socket lauscht.

  • Eine UDP-Anwendung, die ein Paket in einem Socket empfängt.

Diese Konfigurationseinstellung wirkt sich nicht auf bereits hergestellte TCP-Verbindungen aus (Datenverkehr ist in beide Richtungen uneingeschränkt) und wirkt sich nicht auf eine Anwendung aus, die UDP-Pakete sendet.

Die möglichen Werte für die ipProtectionLevel Attributeinstellung entsprechen den definierten Schutzebenen, die in der System.Net.Sockets.IPProtectionLevel Enumeration wie folgt angegeben sind:

Attributwert Beschreibung
EdgeRestricted Die IP-Schutzebene ist edge eingeschränkt. Dieser Wert wird von Anwendungen verwendet, die für den Betrieb im Internet entwickelt wurden. Diese Einstellung lässt keine NAT-Traversen (Network Address Translation) mithilfe der Windows Teredo-Implementierung zu. Diese Anwendungen umgehen möglicherweise IPv4-Firewalls, daher müssen Anwendungen gegen Internetangriffe gehärtet werden, die an den geöffneten Port gerichtet sind. Unter Windows Server 2003 und Windows XP ist der Standardwert für die IP-Schutzebene auf einem Socket edge eingeschränkt.
Eingeschränkt Die IP-Schutzebene ist eingeschränkt. Dieser Wert wird von Intranetanwendungen verwendet, die keine Internetszenarien implementieren. Diese Anwendungen werden in der Regel nicht getestet oder gegen Angriffe im Internetstil gehärtet. Diese Einstellung schränkt den empfangenen Datenverkehr nur auf "Link lokal" ein.
Nicht eingeschränkt Die IP-Schutzebene ist uneingeschränkt. Dieser Wert wird von Anwendungen verwendet, die für die Verwendung im Internet entwickelt wurden, einschließlich Anwendungen, die IPv6 NAT-Traversalfunktionen nutzen, die in Windows integriert sind (z. B. Teredo). Diese Anwendungen umgehen möglicherweise IPv4-Firewalls, daher müssen Anwendungen gegen Internetangriffe gehärtet werden, die an den geöffneten Port gerichtet sind. Unter Windows Server 2008 R2 und Windows Vista ist der Standardwert für die IP-Schutzebene eines Sockets uneingeschränkt.
Nicht angegeben. Die IP-Schutzebene ist nicht angegeben. Unter Windows 7 und Windows Server 2008 R2 ist der Standardwert für die IP-Schutzebene für einen Socket nicht angegeben.

Der Standardwert für das ipProtectionLevel Attribut ist nicht angegeben.

Die IPProtectionLevel Eigenschaft kann verwendet werden, um den aktuellen Wert des ipProtectionLevel Attributs aus den entsprechenden Konfigurationsdateien abzurufen.

Konfigurationsdateien

Dieses Element kann in der Anwendungskonfigurationsdatei oder in der Computerkonfigurationsdatei (Machine.config) verwendet werden.

Example

Das folgende Beispiel zeigt, wie Sie angeben, dass Abschlussports verwendet werden sollen und dass der Standardwert System.Net.Sockets.IPProtectionLevel uneingeschränkt sein soll.

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

Siehe auch