Socketoptionen und IOCTLs

Einige der Socketoptionen für Windows Sockets 2 sind in der folgenden Tabelle zusammengefasst. Ausführlichere Informationen finden Sie in Abschnitt 4 unter WSPGetSockOpt und/oder WSPSetSockOpt. Es gibt weitere protokollspezifische Socketoptionen, die im protokollspezifischen Anhang zu finden sind. Eine vollständige Liste der Socketoptionen für Windows-Sockets finden Sie in der Winsock-Referenz.

Eine Zusammenfassung einiger Winsock Ioctls finden Sie in der Zusammenfassung von Socket Ioctl Opcodes. Eine vollständige Liste der Winsock IOCTLs finden Sie in der Winsock-Referenz.

Zusammenfassung der allgemeinen Socketoptionen

Ein Winsock-Dienstanbieter muss alle diese Optionen erkennen und (für WSPGetSockOpt) plausible Werte für jede zurückgeben. Der Standardwert für jede Option wird in der folgenden Tabelle angezeigt.

Wert

Typ

Bedeutung

Standard

Hinweis

SO_ACCEPTCONN

BOOL

Socket überwacht.

FALSE, es sei denn, es wurde ein WSPListen ausgeführt.

SO_BROADCAST

BOOL

Socket ist für die Übertragung und den Empfang von Übertragungsnachrichten konfiguriert.

FALSE

SO_DEBUG

BOOL

Debugging ist aktiviert.

FALSE

(i)

SO_DONTLINGER

BOOL

Falls „true“ ist die Option SO_LINGER deaktiviert.

TRUE

SO_DONTROUTE

BOOL

Routing ist deaktiviert. Erfolgreich, wird jedoch bei AF_INET Sockets ignoriert; schlägt bei AF_INET6 Sockets mit WSAENOPROTOOPT fehl. Wird für ATM-Sockets nicht unterstützt (führt zu einem Fehler).

FALSE

(i)

SO_ERROR

INT

Ruft den Fehlerstatus ab und löscht ihn.

0

SO_GROUP_ID

GROUP

Reserviert.

NULL

Nur Abruf

SO_GROUP_PRIORITY

INT

Reserviert.

0

SO_KEEPALIVE

BOOL

Keepalives werden gesendet. Wird für ATM-Sockets nicht unterstützt (führt zu einem Fehler).

FALSE

(i)

SO_LINGER

Struktur verweilt

Gibt die aktuellen Verweiloptionen zurück.

l_onoff is 0

SO_MAX_MSG_SIZE

INT

Maximale ausgehende Größe einer Nachricht für Nachrichtensockettypen. Es gibt keine Bereitstellung, um die maximale Größe eingehender Nachrichten zu ermitteln. Hat keine Bedeutung für streamorientierte Sockets.

Abhängig von der Implementierung

Nur Abruf

SO_OOBINLINE

BOOL

OOB-Daten werden im normalen Datenstrom empfangen.

FALSE

SO_PROTOCOL_INFOW

structure WSAPROTOCOL_INFO

Beschreibung der Protokollinformationen für das Protokoll, das an diesen Socket gebunden ist.

Protokollabhängig

Nur Abruf

SO_RCVBUF

INT

Der Gesamtspeicher pro Socketpuffer, der für das Empfangen reserviert ist. Dieser ist nicht mit SO_MAX_MSG_SIZE verbunden und entspricht nicht unbedingt der Größe des TCP-Empfangsfensters.

Abhängig von der Implementierung

(i)

SO_REUSEADDR

BOOL

Die Adresse, an die dieser Socket gebunden ist, kann von anderen verwendet werden. Gilt nicht für ATM-Sockets.

FALSE

SO_SNDBUF

INT

Der Gesamtspeicher pro Socketpuffer, der für das Senden reserviert ist. Dieser ist nicht mit SO_MAX_MSG_SIZE verbunden und entspricht nicht unbedingt der Größe eines TCP-Sendefensters.

Abhängig von der Implementierung

(i)

SO_TYPE

INT

Der Typ des Sockets (z. B. SOCK_STREAM).

Wie über Socket erstellt.

PVD_CONFIG

char FAR *

Ein undurchsichtiges Datenstrukturobjekt, das Konfigurationsinformationen des Dienstanbieters enthält.

Abhängig von der Implementierung

TCP_NODELAY

BOOL

Deaktiviert den Nagle-Algorithmus für Sammelsendungen.

Abhängig von der Implementierung

(i) Ein Dienstanbieter kann diese Option auf WSPSetSockOpt im Hintergrund ignorieren und einen Konstantenwert für WSPGetSockOpt zurückgeben oder einen Wert für WSPSetSockOpt akzeptieren und den entsprechenden Wert in WSPGetSockOpt zurückgeben, ohne den Wert auf irgendeine Weise zu verwenden.

 

Socketoptionen

Socketoptionen für SOL_SOCKET

Socketoptionen für IPPROTO_TCP

Socketoptionen für IPPROTO_UDP

Winsock IOCTLs