SOL_SOCKET dans getsockopt ()

Comme le dit la page de manuel linux “Utilisez cette constante comme argument de niveau pour getsockopt ou setsockopt pour manipuler les options de niveau socket décrites dans cette section.” Je ne sais toujours pas ce que signifie SOL_SOCKET, que fait-il?

SOL_SOCKET est la couche de socket elle-même. Utilisé pour les options indépendantes du protocole.

Vous pouvez en lire plus ici: http://www.delorie.com/gnu/docs/glibc/libc_352.html

Lorsque vous récupérez ou définissez une option de socket, vous spécifiez le nom de l’option ainsi que le niveau. Lorsque level = SOL_SOCKET, l’élément sera recherché dans le socket même.

par exemple. Supposons que nous voulions définir l’option de socket pour réutiliser l’adresse à 1 (on / true), nous passons au “niveau” SOL_SOCKET et à la valeur que nous voulons définir.

int value = 1; setsockopt(mysocket, SOL_SOCKET, SO_REUSEADDR, &value, sizeof(value)); 

Cela définira SO_REUSEADDR dans mon socket sur 1.

J’étais coincé là-dessus, la documentation est extrêmement cryptée. Documentation un peu plus détaillée ici: http://pubs.opengroup.org/onlinepubs/7908799/xns/getsockopt.html