CAsyncSocket::GetSockOpt

Rufen Sie die Memberfunktion auf, um eine Socketoption abzurufen.

BOOL GetSockOpt(
   int nOptionName,
   void* lpOptionValue,
   int* lpOptionLen,
   int nLevel = SOL_SOCKET 
);

Parameter

  • nOptionName
    Die Socketoption, für die der Wert abgerufen werden soll.

  • lpOptionValue
    Ein Zeiger auf den Puffer, in dem der Wert für die angeforderte Option zurückgegeben werden soll.Der Wert, der der ausgewählten Option zugeordnet ist, wird im Puffer lpOptionValue zurückgegeben.Die ganze Zahl, die auf durch lpOptionLen gezeigt wird, sollte die Größe dieses Puffers in Bytes ursprünglich enthalten; und bei Rückgabe, wird sie an die Größe des zurückgegebenen - Werts festgelegt.Für SO_LINGER ist dies die Größe einer LINGER-Struktur; für alle anderen Optionen wird die Größe von BOOL oder von int, abhängig von der Option.Siehe die Liste der Optionen und ihren Arrays in den Abschnitt "Hinweise".

  • lpOptionLen
    Ein Zeiger auf die Größe des lpOptionValue Puffers in Bytes.

  • nLevel
    Die Ebene, an der die Option definiert ist; Ebenen sind die einzigen unterstützten SOL_SOCKET und IPPROTO_TCP.

Rückgabewert

ungleich 0 (null), wenn die Funktion erfolgreich; andernfalls 0 und ein bestimmter Fehlercode können abgerufen werden, indem Sie GetLastError aufruft.Wenn eine Option nie mit SetSockOpt festgelegt wurde, gibt GetSockOpt den Standardwert für die Option zurück.Die folgenden Fehler gelten für diese Memberfunktion zu:

  • Vor der Verwendung dieser APIs WSANOTINITIALISED einem erfolgreichen AfxSocketInit muss auftreten.

  • WSAENETDOWN, das die Windows Socket-Implementierung hat, dass das Netzwerksubsystem fehlgeschlagen ist.

  • WSAEFAULT das lpOptionLen-Argument war ungültig.

  • Ist blockierenden Windows Socket-Vorgang WSAEINPROGRESS A ausgeführt.

  • WSAENOPROTOOPT die Option ist unbekannt oder nicht unterstützt.Insbesondere wird SO_BROADCAST nicht auf Sockets des Typs SOCK_STREAM unterstützt, während SO_ACCEPTCONN, SO_DONTLINGER, SO_KEEPALIVE, SO_LINGER und SO_OOBINLINE nicht auf Sockets des Typs SOCK_DGRAM unterstützt werden.

  • WSAENOTSOCK der Deskriptor ist kein Socket.

Hinweise

GetSockOpt ruft den aktuellen Wert für eine Socketoption ab, die einem Socket jedes Typs, in jedem Zustand zugeordnet ist und speichert das Ergebnis in lpOptionValue.Optionsaffektsocketvorgänge, wie das Routing von Paketen, Out-of-Band-Daten-Übertragung, u. a.

Die folgenden Optionen werden für GetSockOpt unterstützt.Der Typ gibt den Typ der Daten, die vom lpOptionValue behandelt werden.Die TCP_NODELAY Optionsverwendung auf Ebene IPPROTO_TCP; weitere ganze Optionsverwendungsebene SOL_SOCKET.

Wert

Typ

Bedeutung

SO_ACCEPTCONN

BOOL

Socket lauscht.

SO_BROADCAST

BOOL

Socket wird für die Übertragung von Broadcastmeldungen konfiguriert.

SO_DEBUG

BOOL

Debuggen ist aktiviert.

SO_DONTLINGER

BOOL

Wenn true, die SO_LINGER Option deaktiviert ist.

SO_DONTROUTE

BOOL

Routing wird deaktiviert.

SO_ERROR

int

Rufen Sie Fehler-Status ab und deaktivieren Sie.

SO_KEEPALIVE

BOOL

Halten-alives werden gesendet.

SO_LINGER

Struktur BLEIBEN zurück

Gibt den aktuellen zurückbleiben Optionen zurück.

SO_OOBINLINE

BOOL

Out-of-Band-Daten werden im normalen Datenstream empfangen.

SO_RCVBUF

int

Puffergröße für erhält.

SO_REUSEADDR

BOOL

Der Socket kann zu einer Adresse gebunden werden, die bereits in Gebrauch ist.

SO_SNDBUF

int

Puffergröße für.

SO_TYPE

int

Der Typ des Sockets (beispielsweise, SOCK_STREAM).

TCP_NODELAY

BOOL

Deaktivieren Nagle-Algorithmus den für das Verschmelzen senden.

Die Optionen des Berkeley Software Distribution (Bd), die nicht für GetSockOpt unterstützt werden, sind:

Wert

Typ

Bedeutung

SO_RCVLOWAT

int

Empfangen Sie Untergrenzenmarkierung.

SO_RCVTIMEO

int

Empfangen Sie Timeout.

SO_SNDLOWAT

int

Senden Sie Untergrenzenmarkierung.

SO_SNDTIMEO

int

Senden Sie Timeout.

IP_OPTIONS

 

Rufen Sie Optionen in IP-Header ab.

TCP_MAXSEG

int

Rufen Sie maximale Segmentgröße TCP ab.

Das Aufrufen von GetSockOpt mit einer nicht unterstützten Option führt einen Fehlercode von WSAENOPROTOOPT, das von GetLastError zurückgegeben wird.

Anforderungen

Header: afxsock.h

Siehe auch

Referenz

CAsyncSocket-Klasse

Hierarchien-Diagramm

CAsyncSocket::SetSockOpt