getsockopt()中的SOL_SOCKET

如linux手册页中所述“使用此常量作为getsockopt或setsockopt的level参数来操作本节中描述的套接字级别选项。” 我还是不知道SOL_SOCKET是什么意思,它做了什么?

SOL_SOCKET是套接字层本身。 用于与协议无关的选项。

您可以在这里阅读更多内容: http : //www.delorie.com/gnu/docs/glibc/libc_352.html

检索套接字选项或设置它时,您可以指定选项名称以及级别。 当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