What is SOL_SOCKET used for?

后端 未结 2 898
南笙
南笙 2020-12-14 07:33

As it is stated in the Linux man page

Use this constant as the level argument to getsockopt or setsockopt to m

相关标签:
2条回答
  • 2020-12-14 07:54

    SOL_SOCKET is the socket layer itself. It is used for options that are protocol independent.

    You can read more here.

    0 讨论(0)
  • 2020-12-14 08:01

    When retrieving a socket option, or setting it, you specify the option name as well as the level. When level = SOL_SOCKET, the item will be searched for in the socket itself.

    For example, suppose we want to set the socket option to reuse the address to 1 (on/true), we pass in the "level" SOL_SOCKET and the value we want it set to.

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

    This will set the SO_REUSEADDR in my socket to 1.

    I was stuck on this myself, the documentation is extremely cryptic. Slightly more detailed documentation here: http://pubs.opengroup.org/onlinepubs/7908799/xns/getsockopt.html

    0 讨论(0)
提交回复
热议问题