<socket>-Element (Netzwerkeinstellungen)
Gibt an, ob Socketvorgänge Abschlussanschlüsse verwenden.
<socket
alwaysUseCompletionPortsForConnect="true|false"
alwaysUseCompletionPortsForAccept="true|false"
ipProtectionLevel ="EdgeRestricted|Restricted|Unrestricted|Unspecified"
/socket>
Attribute und Elemente
In den folgenden Abschnitten werden Attribute, untergeordnete Elemente und übergeordnete Elemente beschrieben.
Attribute
Attribute |
Beschreibungen |
---|---|
alwaysUseCompletionPortsForAccept |
Gibt an, ob der Socket stets Abschlussanschlüsse für Accept-Methodenaufrufe verwenden soll. Der Standardwert ist false. |
alwaysUseCompletionPortsForConnect |
Gibt an, ob der Socket stets Abschlussanschlüsse für Connect-Methodenaufrufe verwenden soll. Der Standardwert ist false. |
ipProtectionLevel |
Gibt den Standardwert für die System.Net.Sockets.IPProtectionLevel an, die für ein Socket verwendet werden soll. Der Standardwert hängt von der Version von Windows ab. |
Untergeordnete Elemente
Keine.
Übergeordnete Elemente
Element |
Beschreibungen |
---|---|
Konfiguriert grundlegende Netzwerkoptionen für den System.Net-Namespace. |
Hinweise
Das alwaysUseCompletionPortsForAccept-Attribut und das alwaysUseCompletionPortsForConnect-Attribut werden verwendet, um das Standardverhalten gegenüber der Verwendung von Abschlussanschlüssen durch die Klassen im System.Net.Sockets anzugeben. Namespace Abschlussanschlüsse werden für Hochleistungs-Serveranwendungen empfohlen.
Der Standardwert für das alwaysUseCompletionPortsForAccept-Attribut und das alwaysUseCompletionPortsForConnect-Attribut ist false.
AlwaysUseCompletionPortsForAccept kann verwendet werden, um den aktuellen Wert des alwaysUseCompletionPortsForAccept-Attributs aus anwendbaren Konfigurationsdateien abzurufen. AlwaysUseCompletionPortsForConnect kann verwendet werden, um den aktuellen Wert des alwaysUseCompletionPortsForConnect-Attributs aus anwendbaren Konfigurationsdateien abzurufen.
Das ipProtectionLevel-Attribut gibt die Standardeinstellung für System.Net.Sockets.IPProtectionLevel an, die für ein Socket verwendet werden soll. Die IPProtectionLevel-Eigenschaft ermöglicht das Konfigurieren einer Einschränkung eines IPv6-Sockets auf einen angegebenen Bereich, z. B. Adressen mit demselben linklokalen oder standortlokalen Präfix. Diese Option ermöglicht es Anwendungen, Zugriffsbeschränkungen für IPv6-Sockets festlegen. Mit solchen Einschränkungen kann sich eine im privaten LAN ausgeführte Anwendung selbst einfach und stabil vor externen Angriffen schützen. Diese Option erweitert oder beschränkt den Bereich eines lauschenden Sockets und ermöglicht so bei Bedarf den uneingeschränkten Zugriff von öffentlichen und privaten Benutzern oder beschränkt den Zugriff nur auf denselben Standort.
Diese ipProtectionLevel-Attributeinstellung wirkt sich nur auf den ursprünglichen eingehenden Datenverkehr aus:
Ein TCP-Server, der auf eingehende Verbindungen auf einem Socket lauscht.
Eine UDP-Anwendung, die auf einem Socket ein Paket empfängt.
Diese Konfigurationseinstellung wirkt sich nicht auf bereits hergestellte TCP-Verbindungen aus (der Datenverkehr ist in beiden Richtungen uneingeschränkt), und auch nicht auf eine Anwendung, 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 werden:
Attributwert |
Beschreibungen |
EdgeRestricted |
Die IP-Schutzebene ist auf den Netzwerk-Edge beschränkt. Dieser Wert wird von Anwendungen verwendet, die für den Betrieb über das Internet konzipiert sind. Diese Einstellung lässt die NAT-Überquerung (Netzwerkadressenübersetzung) mithilfe der Windows Teredo-Implementierung nicht zu. Diese Anwendungen können IPv4-Firewalls umgehen und müssen daher vor Internetangriffen auf den geöffneten Anschluss geschützt werden. Unter Windows Server 2003 und Windows XP ist der Standardwert für die IP-Schutzebene für einen Socket "EdgeRestricted". |
Restricted |
Die IP-Schutzebene ist eingeschränkt. Dieser Wert wird von Intranetanwendungen verwendet, die keine Internetszenarios implementieren. Diese Anwendungen werden im Allgemeinen nicht getestet oder vor Internetangriffen geschützt. Diese Einstellung beschränkt den empfangenen Datenverkehr auf linklokalen Datenverkehr. |
Uneingeschränkt |
Die IP-Schutzebene ist nicht eingeschränkt. Dieser Wert wird von Anwendungen verwendet, die für den Betrieb über das Internet konzipiert sind. Dazu zählen Anwendungen, die in Windows integrierte IPv6-NAT-Überquerungsfunktionen nutzen (z. B. Teredo). Diese Anwendungen können IPv4-Firewalls umgehen und müssen daher vor Internetangriffen auf den geöffneten Anschluss geschützt werden. Unter Windows Server 2008 R2 und Windows Vista ist der Standardwert für die IP-Schutzebene für einen Socket "Unrestricted". |
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 "Unspecified". |
Der Standardwert für das ipProtectionLevel-Attribut ist Unspecified.
Die IPProtectionLevel-Eigenschaft kann verwendet werden, um den aktuellen Wert des ipProtectionLevel-Attributs aus anwendbaren Konfigurationsdateien abzurufen.
Konfigurationsdateien
Dieses Element kann in der Konfigurationsdatei der Anwendung oder in der Konfigurationsdatei des Computers (Machine.config) verwendet werden.
Beispiel
Das folgende Codebeispiel zeigt, wie Sie angeben können, dass Abschlussanschlüsse verwendet werden sollen und dass die Standardeinstellung für System.Net.Sockets.IPProtectionLevel unbeschränkt sein soll.
<configuration>
<system.net>
<settings>
<socket
alwaysUseCompletionPortsForAccept="true"
alwaysUseCompletionPortsForConnect="true"
ipProtectionLevel="Unrestricted"
/>
</settings>
</system.net>
</configuration>
Siehe auch
Referenz
System.Net.Configuration.SocketElement