Wie es in Linux angegeben ist man
Seite
Verwenden Sie diese Konstante als Ebenenargument für getsockopt
oder setsockopt
um die in diesem Abschnitt beschriebenen Socket-Level-Optionen zu manipulieren
Aber ich verstehe diese Erklärung nicht. Was ist der Zweck von SOL_SOCKET
? Was tut es?
Wenn Sie eine Socket-Option abrufen oder festlegen, geben Sie sowohl den Optionsnamen als auch die Ebene an. Wenn Stufe = SOL_SOCKET
wird das Item im Socket selbst gesucht.
Angenommen, wir möchten die Socket-Option zur Wiederverwendung der Adresse auf 1 (on/true) setzen, dann übergeben wir die “Ebene” SOL_SOCKET
und den Wert, auf den wir es setzen wollen.
int value = 1;
setsockopt(mysocket, SOL_SOCKET, SO_REUSEADDR, &value, sizeof(value));
Dadurch wird die eingestellt SO_REUSEADDR
in meiner Steckdose auf 1.
Ich bin selbst daran hängengeblieben, die Dokumentation ist äußerst kryptisch. Etwas ausführlichere Dokumentation hier: http://pubs.opengroup.org/onlinepubs/7908799/xns/getsockopt.html
SOL_SOCKET
ist die Sockelschicht selbst. Es wird für Optionen verwendet, die protokollunabhängig sind.
Sie können mehr lesen hier.