SocketOptionName Enumeration
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Definiert Konfigurationsoptionsnamen.
public enum class SocketOptionName
public enum SocketOptionName
type SocketOptionName =
Public Enum SocketOptionName
- Vererbung
Felder
AcceptConnection | 2 | Der Socket überwacht. |
AddMembership | 12 | Fügen Sie eine IP-Gruppenmitgliedschaft hinzu. |
AddSourceMembership | 15 | Verknüpfen einer Quellgruppe. |
BlockSource | 17 | Blockieren von Daten aus einer Quelle. |
Broadcast | 32 | Lassen Sie das Senden von Übertragungsnachrichten im Socket zu. |
BsdUrgent | 2 | Verwenden Sie dringende Daten, wie in RFC-1222 definiert. Diese Option kann nur einmal festgelegt werden. nachdem sie festgelegt wurde, kann sie nicht deaktiviert werden. |
ChecksumCoverage | 20 | Festlegen oder Abrufen der UDP-Prüfsummenabdeckung. |
Debug | 1 | Aufzeichnen von Debuginformationen. |
DontFragment | 14 | Ip-Datagramme nicht fragmentiert. |
DontLinger | -129 | Schließen Sie den Socket ordnungsgemäß, ohne zu bleiben. |
DontRoute | 16 | Nicht weiterleiten; senden Sie das Paket direkt an die Schnittstellenadressen. |
DropMembership | 13 | Legen Sie eine IP-Gruppenmitgliedschaft ab. |
DropSourceMembership | 16 | Legen Sie eine Quellgruppe ab. |
Error | 4103 | Ruft den Fehlerstatus ab und löscht den Fehler. |
ExclusiveAddressUse | -5 | Ermöglicht die Bindung eines Sockets für exklusiven Zugriff. |
Expedited | 2 | Verwenden Sie beschleunigte Daten, wie in RFC-1222 definiert. Diese Option kann nur einmal festgelegt werden. nachdem sie festgelegt wurde, kann sie nicht deaktiviert werden. |
FastOpen | 15 | Aktiviert TCP Fast Open wie in RFC-7413 definiert. Das tatsächliche beobachtete Verhalten hängt von der Betriebssystemkonfiguration und dem Status des Kernel-TCP-Cookiecaches ab. Das Aktivieren von TFO kann sich auf die Interoperabilität auswirken und Verbindungsprobleme verursachen. |
HeaderIncluded | 2 | Gibt an, dass die Anwendung den IP-Header für ausgehende Datagramme bereitstellt. |
HopLimit | 21 | Gibt die maximale Anzahl von Routerhüpfen für ein IPv6-Paket (Internet Protocol Version 6) an. Dies ähnelt Time to Live (TTL) für Internetprotokoll Version 4. |
IPOptions | 1 | Gibt die IP-Optionen an, die in ausgehende Datagramme eingefügt werden sollen. |
IPProtectionLevel | 23 | Aktiviert die Einschränkung eines IPv6-Sockets auf einen angegebenen Bereich, z. B. Adressen mit demselben lokalen Link- oder Standortpräfix. Mit dieser Socketoption 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 Socketoption 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 Socketoption hat schutzebenen definiert, die in der IPProtectionLevel-Enumeration angegeben sind. |
IpTimeToLive | 4 | Legen Sie das Feld "Time-to-Live" des IP-Headers fest. |
IPv6Only | 27 | Gibt an, ob ein für die AF_INET6 Adressfamilie erstelltes Socket nur auf IPv6-Kommunikation beschränkt ist. Sockets, die für die AF_INET6 Adressfamilie erstellt wurden, können sowohl für IPv6- als auch für IPv4-Kommunikation verwendet werden. Einige Anwendungen möchten möglicherweise die Verwendung eines Sockets einschränken, der für die AF_INET6 Adressfamilie erstellt wurde, nur auf IPv6-Kommunikation. Wenn dieser Wert ungleich Null ist (standard unter Windows), kann ein socket, der für die AF_INET6 Adressfamilie erstellt wurde, nur zum Senden und Empfangen von IPv6-Paketen verwendet werden. Wenn dieser Wert null ist, kann ein socket, der für die AF_INET6 Adressfamilie erstellt wurde, verwendet werden, um Pakete an und von einer IPv6-Adresse oder einer IPv4-Adresse zu senden und zu empfangen. Beachten Sie, dass für die Interaktion mit einer IPv4-Adresse die Verwendung von IPv4 zugeordneten Adressen erforderlich ist. Diese Socketoption wird unter Windows Vista oder höher unterstützt. |
KeepAlive | 8 | Verwenden Sie Keep-Alives. |
Linger | 128 | Bleiben Sie beim Schließen, wenn nicht gesendete Daten vorhanden sind. |
MaxConnections | 2147483647 | Nicht unterstützt; löst bei Verwendung eine SocketException aus. |
MulticastInterface | 9 | Legen Sie die Schnittstelle für ausgehende Multicastpakete fest. |
MulticastLoopback | 11 | Ein IP-Multicast-Loopback. |
MulticastTimeToLive | 10 | Eine IP-Multicastzeit zu Live. |
NoChecksum | 1 | UDP-Datagramme mit Prüfsummen senden, die auf Null festgelegt sind. |
NoDelay | 1 | Deaktiviert den Nagle-Algorithmus für das Zusammenwachsen. |
OutOfBandInline | 256 | Empfängt Out-of-Band-Daten im normalen Datenstrom. |
PacketInformation | 19 | Gibt Informationen zu empfangenen Paketen zurück. |
ReceiveBuffer | 4098 | Gibt den gesamt reservierten Pufferraum pro Socket an. Dies ist nicht mit der maximalen Nachrichtengröße oder der Größe eines TCP-Fensters verknüpft. |
ReceiveLowWater | 4100 | Gibt das Niedrigwasserzeichen für Receive Vorgänge an. |
ReceiveTimeout | 4102 | Erhalten Sie ein Timeout. Diese Option gilt nur für synchrone Methoden; sie wirkt sich nicht auf asynchrone Methoden wie die BeginSend(Byte[], Int32, Int32, SocketFlags, AsyncCallback, Object)-Methode aus. |
ReuseAddress | 4 | Ermöglicht die Bindung des Sockets an eine adresse, die bereits verwendet wird. |
ReuseUnicastPort | 12295 | Gibt an, dass das System die kurzlebige Portzuweisung für ausgehende Verbindungen zurückstellen soll. Dies entspricht der Verwendung der Winsock2-SO_REUSE_UNICASTPORT Socketoption. |
SendBuffer | 4097 | Gibt den Gesamtspeicher pro Socketpuffer an, der für Sendesendungen reserviert ist. Dies ist nicht mit der maximalen Nachrichtengröße oder der Größe eines TCP-Fensters verknüpft. |
SendLowWater | 4099 | Gibt das Niedrigwasserzeichen für Send Vorgänge an. |
SendTimeout | 4101 | Senden Sie ein Timeout. Diese Option gilt nur für synchrone Methoden; sie wirkt sich nicht auf asynchrone Methoden wie die BeginSend(Byte[], Int32, Int32, SocketFlags, AsyncCallback, Object)-Methode aus. |
TcpKeepAliveInterval | 17 | Die Anzahl der Sekunden, die eine TCP-Verbindung auf eine Keepalive-Antwort wartet, bevor ein weiterer Keepalive-Prüfer gesendet wird. |
TcpKeepAliveRetryCount | 16 | Die Anzahl der TCP-Keep-Alive-Prüfpunkte, die gesendet werden, bevor die Verbindung beendet wird. |
TcpKeepAliveTime | 3 | Die Anzahl der Sekunden, die eine TCP-Verbindung aktiv/im Leerlauf bleibt, bevor Keepalive-Probes an die Remote gesendet werden. |
Type | 4104 | Ruft den Sockettyp ab. |
TypeOfService | 3 | Ändern Sie den IP-Headertyp des Dienstfelds. |
UnblockSource | 18 | Heben Sie die Blockierung einer zuvor blockierten Quelle auf. |
UpdateAcceptContext | 28683 | Aktualisiert die Eigenschaften eines akzeptierten Sockets mithilfe der Eigenschaften eines vorhandenen Sockets. Dies entspricht der Verwendung der Winsock2 SO_UPDATE_ACCEPT_CONTEXT Socketoption und wird nur für verbindungsorientierte Sockets unterstützt. |
UpdateConnectContext | 28688 | Aktualisiert die Eigenschaften eines verbundenen Sockets mithilfe der Eigenschaften eines vorhandenen Sockets. Dies entspricht der Verwendung der Winsock2 SO_UPDATE_CONNECT_CONTEXT Socketoption und wird nur für verbindungsorientierte Sockets unterstützt. |
UseLoopback | 64 | Umgehen Sie Hardware nach Möglichkeit. |
Beispiele
Im folgenden Codebeispiel wird diese Enumeration verwendet, um Socketoptionen festzulegen.
// 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)
Hinweise
Die SocketOptionName-Aufzählung definiert den Namen jeder Socket Konfigurationsoption. Sockets können mit der Socket.SetSocketOption-Methode konfiguriert werden.