我得到了以下链接:getsockopt()中的套接字
但这真的让我很困惑。一个人回答说,SOL_SOCKET是指套接字层。插座层是什么?该参数还有其他可用的选项吗?
如果我们传递SOL_SOCKET参数,SOL代表什么?
我正在使用UNIX。
发布于 2014-10-09 15:20:21
套接字层是指操作系统的套接字抽象。这些选项可以独立于您正在处理的套接字类型进行设置。实际上,您可能只对TCP/IP套接字感兴趣,但也有UDP/IP套接字、Unix域套接字等。与SOL_SOCKET相关的选项可以应用于其中的任何一个。另一个问题的答复中提供的清单有其中的一些;在套接字手册页中,还有更多,在“套接字选项”部分。
SOL_SOCKET是与该级别相关联的“协议号”的常量。对于其他协议或级别,您可以使用getprotoent从其名称中获取协议编号,或者检查协议手册--例如,在IP手册页中描述IP (IPPROTO_IP)、TCP (IPPROTO_TCP)和UDP (IPPROTO_UDP)协议号的常量,而Unix套接字手册页则表示,出于历史原因,其协议选项也必须使用SOL_SOCKET设置。此外,您可以在/etc/protocols中找到系统支持的协议列表。当然,每个协议所支持的选项都在它们的手册中:IP地址、TCP、UDP、Unix套接字.
https://stackoverflow.com/questions/26281787
复制相似问题