Your Browser is not longer supported

Please use Google Chrome, Mozilla Firefox or Microsoft Edge to view the page correctly
Loading...

{{viewport.spaceProperty.prod}}

Socket-Optionen

&pagelevel(3)&pagelevel

Die Funktionen setsockopt() und getsockopt() setzen Werte für verschiedene Optionen eines Sockets bzw. fragen deren aktuellen Werte ab.

Optionen setzen Sie z.B. zu folgenden Zwecken:

  • einen Socket für das Senden von Broadcast-Nachrichten kennzeichnen
  • einen Socket veranlassen, mit dem Verbindungsabbau zu warten, bis alle Daten übertragen sind

Die allgemeine Form der Aufrufe lautet:

setsockopt(s, level, optname, optval, optlen);
getsockopt(s, level, optname, optval, optlenp);

s

bezeichnet den Socket, für den die Option gesetzt bzw. abgefragt wird.

level

gibt die Protokollebene an, der die Option angehört. Normalerweise ist dies die Socket-Ebene, die durch die symbolische Konstante SOL_SOCKET angezeigt wird, die in <sys/socket.h> definiert ist. Es wird allerdings auch das Setzen und Abfragen von Optionen anderer Ebenen (IPPROTO_TCP, IPPROTO_IP und IPPROTO_IPV6) unterstützt.

optname

gibt die Socket-Option an. Die Socket-Option ist ebenfalls eine in <sys/socket.h> definierte symbolische Konstante.

optval

ist ein Zeiger auf den Wert der Option. Der Typ von optval ist unterschiedlich bei den verschieden Optionen. Bei setsockopt() weisen Sie mit optval der Option optname für den Socket s einen Wert zu. Bei getsockopt() wird der Wert der Option optname für den Socket s  in optval ausgegeben.

optlen

gibt bei setsockopt() die Länge des Wertes der Option an.

optlenp

ist bei getsockopt() ein Zeiger, der bei Aufruf die Größe des Speicherbereiches angibt, auf den optval zeigt. Nach der Rückkehr von getsockopt() enthält optlenp die tatsächliche Länge des in diesem Speicherbereich zurückgelieferten Wertes der Option.