Comme indiqué dans la page Linux man
Utilisez cette constante comme argument de niveau pour
getsockopt
ousetsockopt
pour manipuler les options de niveau socket décrites dans cette section
Mais je n'ai pas cette explication. Quel est le but de SOL_SOCKET
? Qu'est ce que ça fait?
SOL_SOCKET
est la couche socket elle-même. Il est utilisé pour les options indépendantes du protocole.
Vous pouvez lire plus ici .
Lorsque vous récupérez une option de socket ou que vous la définissez, vous spécifiez le nom de l'option ainsi que le niveau. Lorsque level = SOL_SOCKET
, l'élément sera recherché dans le socket lui-même.
Par exemple, supposons que nous voulions définir l'option socket pour réutiliser l'adresse à 1 (on/true), nous passons le "niveau" SOL_SOCKET
et la valeur souhaitée.
int value = 1;
setsockopt(mysocket, SOL_SOCKET, SO_REUSEADDR, &value, sizeof(value));
Cela définira le SO_REUSEADDR
dans ma prise à 1.
J'étais coincé là-dessus moi-même, la documentation est extrêmement cryptique. Documentation légèrement plus détaillée ici: http://pubs.opengroup.org/onlinepubs/7908799/xns/getsockopt.html