2014-10-09 77 views

回答

1

“套接字层”指的是操作系统的套接字抽象。这些选项可以独立于您正在处理的套接字类型进行设置。实际上,您可能只对TCP/IP套接字感兴趣,但也有UDP/IP套接字,Unix域套接字等。与SOL_SOCKET相关的选项可以应用于其中的任何选项。 The list provided in the answer of the other question有一些;在manual page of sockets有更多,在“套接字选项”部分下。

SOL_SOCKET是与该级别关联的“协议号”的常量。对于其他协议或级别,可以使用getprotoent从其名称中获取协议号,或查看协议手册 - 例如,在manual page of IP中描述了IP协议号(IPPROTO_IP),TCP(IPPROTO_TCP) )和UDP(IPPROTO_UDP),而manual page of Unix sockets表示由于历史原因,其协议选项也必须使用SOL_SOCKET来设置。此外,您可以在/etc/protocols中找到系统支持的协议列表。并且,当然,每个协议支持的选项都在其手册中:IP,TCP,UDP,Unix sockets ...

+0

我现在很清楚套接字层。但是SOL代表什么想法? – 2014-10-10 04:46:41

+0

是否有任何其他选项可以设置,而不是SOL_SOCKET – 2014-10-10 04:47:19

+0

@VinothKumar我已经扩展了我的答案,希望有所帮助! – jdehesa 2014-10-10 07:36:41