什么是SOL_SOCKET用于?

Bla*_*ake 24 c sockets network-programming

正如在Linux man页面中所述

使用此常量作为级别参数getsockoptsetsockopt操作本节中描述的套接字级别选项

但我没有得到这个解释.目的是SOL_SOCKET什么?它有什么作用?

jsp*_*cek 67

检索套接字选项或设置它时,您可以指定选项名称以及级别.当level =时SOL_SOCKET,将在套接字本身中搜索该项.

例如,假设我们要设置套接字选项以将地址重用为1(on/true),我们传入"level" SOL_SOCKET和我们想要设置的值.

int value = 1;    
setsockopt(mysocket, SOL_SOCKET, SO_REUSEADDR, &value, sizeof(value));
Run Code Online (Sandbox Code Playgroud)

这会将SO_REUSEADDR我的套接字设置为1.

我自己也被困在这里,文档非常神秘.稍微更详细的文档:http://pubs.opengroup.org/onlinepubs/7908799/xns/getsockopt.html

  • 应该是选定的答案. (5认同)

dem*_*o.b 7

SOL_SOCKET是套接字层本身.它用于独立于协议的选项.

你可以在这里阅读更多.

  • 请你详细说明 (19认同)