正如Linux man
页面
使用此常量作为
getsockopt
或setsockopt
的级别参数来操作本节中描述的套接字级别选项
但我没有得到这个解释。 SOL_SOCKET
的目的是什么?它有什么作用?
答案 0 :(得分:60)
检索套接字选项或设置套接字选项时,您可以指定选项名称以及级别。当level = SOL_SOCKET
时,将在套接字本身中搜索该项目。
例如,假设我们要设置套接字选项以将地址重用为1(on / true),我们传入“level”SOL_SOCKET
以及我们想要设置的值。
int value = 1;
setsockopt(mysocket, SOL_SOCKET, SO_REUSEADDR, &value, sizeof(value));
这会将我的套接字中的SO_REUSEADDR
设置为1.
我自己也被困在这里,文档非常神秘。这里有更详细的文档:http://pubs.opengroup.org/onlinepubs/7908799/xns/getsockopt.html
答案 1 :(得分:5)
SOL_SOCKET
是套接字层本身。它用于独立于协议的选项。
您可以阅读更多here。