module Socket::Constants
Socket::Constants
提供与套接字相关的常量。所有可能的套接字常量都列在文档中,但它们可能并非都存在于您的平台上。
如果底层平台没有定义常量,则相应的 Ruby 常量也不会被定义。
常量
- AF_ALG
内核加密 API 接口
- AF_APPLETALK
AppleTalk 协议
- AF_ATM
异步传输模式
- AF_AX25
AX.25 协议
- AF_BLUETOOTH
蓝牙低层套接字协议
- AF_CAN
控制器局域网络汽车总线协议
- AF_CCITT
CCITT (现在为 ITU-T) 协议
- AF_CHAOS
MIT CHAOS 协议
- AF_CNT
计算机网络技术
- AF_COIP
面向连接的 IP
- AF_DATAKIT
Datakit 协议
- AF_DEC
DECnet 协议
- AF_DECnet
DECnet 协议
- AF_DLI
DEC 直接数据链路接口协议
- AF_E164
CCITT (ITU-T) E.164 建议
- AF_ECMA
欧洲计算机制造商协议
- AF_HYLINK
NSC 超通道协议
- AF_IB
InfiniBand 本机寻址
- AF_IMPLINK
ARPANET IMP 协议
- AF_INET
IPv4 协议
- AF_INET6
IPv6 协议
- AF_IPX
IPX 协议
- AF_ISDN
综合业务数字网络
- AF_ISO
ISO 开放系统互连协议
- AF_KCM
KCM (内核连接多路复用器) 接口
- AF_KEY
密钥管理协议,最初为 IPsec 开发
- AF_LAT
局域传输协议
- AF_LINK
链路层接口
- AF_LLC
逻辑链路控制 (IEEE 802.2 LLC) 协议
- AF_LOCAL
主机内部协议
- AF_MAX
此平台的最大地址族
- AF_MPLS
多协议标签交换
- AF_NATM
本机 ATM 访问
- AF_NDRV
网络驱动程序原始访问
- AF_NETBIOS
NetBIOS
- AF_NETGRAPH
Netgraph 套接字
- AF_NETLINK
内核用户界面设备
- AF_NS
XEROX NS 协议
- AF_OSI
ISO 开放系统互连协议
- AF_PACKET
直接链路层访问
- AF_PPP
点对点协议
- AF_PPPOX
通用 PPP 传输层,用于设置 L2 隧道 (L2TP 和 PPPoE)
- AF_PUP
PARC 通用数据包协议
- AF_RDS
可靠数据报套接字 (RDS) 协议
- AF_ROUTE
内部路由协议
- AF_SIP
简单互联网协议
- AF_SNA
IBM SNA 协议
- AF_SYSTEM
内核事件消息
- AF_TIPC
TIPC,“集群域套接字”协议
- AF_UNIX
UNIX 套接字
- AF_UNSPEC
未指定的协议,任何受支持的地址族
- AF_VSOCK
VSOCK (最初为“VMWare VSockets”) 协议,用于虚拟机管理程序-访客通信
- AF_XDP
XDP (快速数据路径) 接口
- AI_ADDRCONFIG
仅在分配了任何地址时接受
- AI_ALL
允许所有地址
- AI_CANONNAME
填写规范名称
- AI_DEFAULT
getaddrinfo 的默认标志
- AI_MASK
getaddrinfo 的有效标志掩码 (不用于应用程序)
- AI_NUMERICHOST
防止主机名解析
- AI_NUMERICSERV
防止服务名解析
- AI_PASSIVE
获取要与 bind() 一起使用的地址
- AI_V4MAPPED
接受 IPv4 映射的 IPv6 地址
- AI_V4MAPPED_CFG
如果内核支持,则接受 IPv4 映射的地址
- EAI_ADDRFAMILY
不支持主机名的地址族
- EAI_AGAIN
名称解析中的临时失败
- EAI_BADFLAGS
无效标志
- EAI_BADHINTS
hints 的无效值
- EAI_FAIL
名称解析中不可恢复的失败
- EAI_FAMILY
不支持的地址族
- EAI_MAX
getaddrinfo 的最大错误代码
- EAI_MEMORY
内存分配失败
- EAI_NODATA
没有与主机名关联的地址
- EAI_NONAME
主机名或服务名,或者未知
- EAI_OVERFLOW
参数缓冲区溢出
- EAI_PROTOCOL
已解析的协议未知
- EAI_SERVICE
套接字类型不支持的服务名
- EAI_SOCKTYPE
不支持的套接字类型
- EAI_SYSTEM
errno 中返回的系统错误
- IFF_802_1Q_VLAN
802.1Q VLAN 设备
- IFF_ALLMULTI
接收所有多播数据包
- IFF_ALTPHYS
使用备用物理连接
- IFF_AUTOMEDIA
自动介质选择活动
- IFF_BONDING
绑定主或从
- IFF_BRIDGE_PORT
用作桥端口的设备
- IFF_BROADCAST
广播地址有效
- IFF_CANTCHANGE
标志不可更改
- IFF_CANTCONFIG
无法使用 ioctl(2) 配置
- IFF_DEBUG
打开调试
- IFF_DISABLE_NETPOLL
在运行时禁用 netpoll
- IFF_DONT_BRIDGE
不允许桥接此以太网设备
- IFF_DORMANT
驱动程序发出休眠信号
- IFF_DRV_OACTIVE
tx 硬件队列已满
- IFF_DRV_RUNNING
已分配资源
- IFF_DYING
接口正在关闭
- IFF_DYNAMIC
具有更改地址的拨号设备
- IFF_EBRIDGE
以太网桥接设备
- IFF_ECHO
回送发送的数据包
- IFF_ISATAP
ISATAP 接口 (RFC4214)
- IFF_LINK0
每个链路层定义的位 0
- IFF_LINK1
每个链路层定义的位 1
- IFF_LINK2
每个链路层定义的位 2
- IFF_LIVE_ADDR_CHANGE
硬件地址在运行时更改
- IFF_LOOPBACK
回环网络
- IFF_LOWER_UP
驱动程序发出 L1 上升信号
- IFF_MACVLAN_PORT
用作 macvlan 端口的设备
- IFF_MASTER
负载均衡器的主设备
- IFF_MASTER_8023AD
绑定主设备,802.3ad。
- IFF_MASTER_ALB
绑定主设备,balance-alb。
- IFF_MASTER_ARPMON
绑定主设备,正在使用 ARP 监视
- IFF_MONITOR
用户请求的监视模式
- IFF_MULTICAST
支持多播
- IFF_NOARP
没有地址解析协议
- IFF_NOTRAILERS
避免使用尾部
- IFF_OACTIVE
正在传输
- IFF_OVS_DATAPATH
用作 Open vSwitch 数据路径端口的设备
- IFF_POINTOPOINT
点对点链路
- IFF_PORTSEL
可以设置介质类型
- IFF_PPROMISC
用户请求的混杂模式
- IFF_PROMISC
接收所有数据包
- IFF_RENAMING
接口正在重命名
- IFF_ROUTE
已安装路由条目
- IFF_RUNNING
已分配资源
- IFF_SIMPLEX
听不到自己的传输
- IFF_SLAVE
负载均衡器的从设备
- IFF_SLAVE_INACTIVE
绑定从设备不是当前活动设备
- IFF_SLAVE_NEEDARP
需要 ARP 进行验证
- IFF_SMART
接口管理自己的路由
- IFF_STATICARP
静态 ARP
- IFF_SUPP_NOFCS
发送自定义 FCS
- IFF_TEAM_PORT
用作团队端口
- IFF_TX_SKB_SHARING
在传输时共享 skb
- IFF_UNICAST_FLT
单播过滤
- IFF_UP
接口已启动
- IFF_VOLATILE
易失性标志
- IFF_WAN_HDLC
WAN HDLC 设备
- IFF_XMIT_DST_RELEASE
dev_hard_start_xmit() 允许释放 skb->dst
- IFNAMSIZ
最大接口名称大小
- IF_NAMESIZE
最大接口名称大小
- INADDR_ALLHOSTS_GROUP
此子集上所有系统的多播组
- INADDR_ANY
绑定到
INADDR_ANY
的套接字接收来自所有接口的数据包,并从默认 IP 地址发送数据包- INADDR_BROADCAST
网络广播地址
- INADDR_LOOPBACK
回环地址
- INADDR_MAX_LOCAL_GROUP
最后一个本地网络多播组
- INADDR_NONE
用于匹配无效 IP 地址的位掩码
- INADDR_UNSPEC_GROUP
保留的多播组
- INET6_ADDRSTRLEN
IPv6 地址字符串的最大长度
- INET_ADDRSTRLEN
IPv4 地址字符串的最大长度
- IPPORT_RESERVED
绑定或连接的默认最小地址
- IPPORT_USERRESERVED
绑定或连接的默认最大地址
- IPPROTO_AH
IP6 身份验证标头
- IPPROTO_BIP
- IPPROTO_DSTOPTS
IP6 目标选项
- IPPROTO_EGP
外部网关协议
- IPPROTO_EON
ISO cnlp
- IPPROTO_ESP
IP6 封装安全负载
- IPPROTO_FRAGMENT
IP6 分段标头
- IPPROTO_GGP
网关到网关协议
- IPPROTO_HELLO
“hello”路由协议
- IPPROTO_HOPOPTS
IP6 逐跳选项
- IPPROTO_ICMP
控制消息协议
- IPPROTO_ICMPV6
ICMP6
- IPPROTO_IDP
XNS IDP
- IPPROTO_IGMP
组管理协议
- IPPROTO_IP
IP 的虚拟协议
- IPPROTO_IPV6
IP6 标头
- IPPROTO_MAX
最大 IPPROTO 常量
- IPPROTO_ND
Sun 网络磁盘协议
- IPPROTO_NONE
IP6 无下一标头
- IPPROTO_PUP
PARC 通用数据包协议
- IPPROTO_RAW
原始 IP 数据包
- IPPROTO_ROUTING
IP6 路由标头
- IPPROTO_TCP
TCP
- IPPROTO_TP
ISO 传输协议类 4
- IPPROTO_UDP
UDP
- IPPROTO_XTP
Xpress 传输协议
- IPV6_CHECKSUM
原始套接字的校验和偏移量
- IPV6_DONTFRAG
不要分段数据包
- IPV6_DSTOPTS
目标选项
- IPV6_HOPLIMIT
跳数限制
- IPV6_HOPOPTS
逐跳选项
- IPV6_JOIN_GROUP
加入组成员资格
- IPV6_LEAVE_GROUP
离开组成员资格
- IPV6_MTU_DISCOVER
路径 MTU 发现
- IPV6_MULTICAST_HOPS
IP6 多播跳数
- IPV6_MULTICAST_IF
IP6 多播接口
- IPV6_MULTICAST_LOOP
IP6 多播回环
- IPV6_NEXTHOP
下一跳地址
- IPV6_PATHMTU
检索当前路径 MTU
- IPV6_PKTINFO
接收带数据报的数据包信息
- IPV6_RECVDSTOPTS
接收响应的所有 IP6 选项
- IPV6_RECVERR
启用扩展的可靠错误消息传递
- IPV6_RECVHOPLIMIT
接收带数据报的跳数限制
- IPV6_RECVHOPOPTS
接收逐跳选项
- IPV6_RECVPATHMTU
接收带数据报的当前路径 MTU
- IPV6_RECVPKTINFO
接收目标 IP 地址和传入接口
- IPV6_RECVRTHDR
接收路由标头
- IPV6_RECVTCLASS
接收流量类别
- IPV6_RTHDR
允许删除粘性路由标头
- IPV6_RTHDRDSTOPTS
允许删除粘性目标选项标头
- IPV6_RTHDR_TYPE_0
路由标头类型 0
- IPV6_TCLASS
指定流量类别
- IPV6_UNICAST_HOPS
IP6 单播跳数
- IPV6_USE_MIN_MTU
使用最小 MTU 大小
- IPV6_V6ONLY
仅使用通配符绑定绑定 IPv6
- IPX_TYPE
- IP_ADD_MEMBERSHIP
添加多播组成员资格
- IP_ADD_SOURCE_MEMBERSHIP
添加多播组成员资格
- IP_BLOCK_SOURCE
阻止来自给定源地址的 IPv4 多播数据包
- IP_DEFAULT_MULTICAST_LOOP
默认多播回环
- IP_DEFAULT_MULTICAST_TTL
默认组播 TTL
- IP_DONTFRAG
不要分段数据包
- IP_DROP_MEMBERSHIP
删除一个组播组成员资格
- IP_DROP_SOURCE_MEMBERSHIP
删除一个组播组成员资格
- IP_FREEBIND
允许绑定到不存在的 IP 地址
- IP_HDRINCL
头部包含在数据中
- IP_IPSEC_POLICY
IPsec 安全策略
- IP_MAX_MEMBERSHIPS
一个套接字可以加入的最大组播组数量
- IP_MINTTL
接收数据包允许的最小 TTL
- IP_MSFILTER
组播源过滤
- IP_MTU
套接字的最大传输单元
- IP_MTU_DISCOVER
路径 MTU 发现
- IP_MULTICAST_IF
IP 组播接口
- IP_MULTICAST_LOOP
IP 组播环回
- IP_MULTICAST_TTL
IP 组播 TTL
- IP_ONESBCAST
强制出站广播数据报使用无定向广播地址
- IP_OPTIONS
数据包中包含的 IP 选项
- IP_PASSSEC
检索数据报的安全上下文
- IP_PKTINFO
接收带数据报的数据包信息
- IP_PKTOPTIONS
接收带数据报的数据包选项
- IP_PMTUDISC_DO
始终发送 DF 帧
- IP_PMTUDISC_DONT
从不发送 DF 帧
- IP_PMTUDISC_WANT
使用每路由提示
- IP_PORTRANGE
为未指定端口号的套接字设置端口范围
- IP_RECVDSTADDR
接收带数据报的 IP 目标地址
- IP_RECVERR
启用扩展的可靠错误消息传递
- IP_RECVIF
接收带数据报的接口信息
- IP_RECVOPTS
接收带数据报的所有 IP 选项
- IP_RECVRETOPTS
接收响应的所有 IP 选项
- IP_RECVSLLA
接收带数据报的链路层地址
- IP_RECVTOS
接收传入数据包的 TOS
- IP_RECVTTL
接收带数据报的 IP TTL
- IP_RETOPTS
数据报中包含的 IP 选项
- IP_ROUTER_ALERT
通知传输路由器更仔细地检查 IP 数据包的内容
- IP_SENDSRCADDR
出站 UDP 数据报的源地址
- IP_TOS
IP 服务类型
- IP_TRANSPARENT
透明代理
- IP_TTL
IP 生存时间
- IP_UNBLOCK_SOURCE
取消阻止具有给定源地址的 IPv4 组播数据包
- IP_XFRM_POLICY
- LOCAL_CONNWAIT
连接阻塞直到被接受
- LOCAL_CREDS
将凭据传递给接收者
- LOCAL_PEERCRED
检索对等凭据
- MCAST_BLOCK_SOURCE
阻止来自此源的组播数据包
- MCAST_EXCLUDE
独占组播源过滤器
- MCAST_INCLUDE
包含组播源过滤器
- MCAST_JOIN_GROUP
加入一个组播组
- MCAST_JOIN_SOURCE_GROUP
加入一个组播源组
- MCAST_LEAVE_GROUP
离开一个组播组
- MCAST_LEAVE_SOURCE_GROUP
离开一个组播源组
- MCAST_MSFILTER
组播源过滤
- MCAST_UNBLOCK_SOURCE
取消阻止来自此源的组播数据包
- MSG_COMPAT
记录结束
- MSG_CONFIRM
确认路径有效性
- MSG_CTRUNC
控制数据在传送前丢失
- MSG_DONTROUTE
发送时不使用路由表
- MSG_DONTWAIT
此消息应为非阻塞
- MSG_EOF
数据完成连接
- MSG_EOR
数据完成记录
- MSG_ERRQUEUE
从错误队列获取消息
- MSG_FASTOPEN
减少握手过程的步骤
- MSG_FIN
- MSG_FLUSH
保持序列的开始。转储到 so_temp
- MSG_HAVEMORE
数据准备好被读取
- MSG_HOLD
在 so_temp 中保持片段
- MSG_MORE
发送者将发送更多
- MSG_NOSIGNAL
不生成 SIGPIPE
- MSG_OOB
处理带外数据
- MSG_PEEK
查看传入消息
- MSG_PROXY
等待完整请求
- MSG_RCVMORE
数据保留在当前数据包中
- MSG_RST
- MSG_SEND
在 so_temp 中发送数据包
- MSG_SYN
- MSG_TRUNC
数据在传送前被丢弃
- MSG_WAITALL
等待完整请求或错误
- NI_DGRAM
指定的服务是数据报服务(查找 UDP 端口)
- NI_MAXHOST
主机名的最大长度
- NI_MAXSERV
服务名称的最大长度
- NI_NAMEREQD
需要一个名称
- NI_NOFQDN
本地主机不需要 FQDN,仅返回本地部分
- NI_NUMERICHOST
返回数字地址
- NI_NUMERICSERV
将服务名称作为数字字符串返回
- PF_ALG
内核加密 API 接口
- PF_APPLETALK
AppleTalk 协议
- PF_ATM
异步传输模式
- PF_AX25
AX.25 协议
- PF_BLUETOOTH
蓝牙低层套接字协议
- PF_CAN
控制器局域网络汽车总线协议
- PF_CCITT
CCITT (现在为 ITU-T) 协议
- PF_CHAOS
MIT CHAOS 协议
- PF_CNT
计算机网络技术
- PF_COIP
面向连接的 IP
- PF_DATAKIT
Datakit 协议
- PF_DEC
DECnet 协议
- PF_DECnet
DECnet 协议
- PF_DLI
DEC 直接数据链路接口协议
- PF_ECMA
欧洲计算机制造商协议
- PF_HYLINK
NSC 超通道协议
- PF_IB
InfiniBand 本机寻址
- PF_IMPLINK
ARPANET IMP 协议
- PF_INET
IPv4 协议
- PF_INET6
IPv6 协议
- PF_IPX
IPX 协议
- PF_ISDN
综合业务数字网络
- PF_ISO
ISO 开放系统互连协议
- PF_KCM
KCM (内核连接多路复用器) 接口
- PF_KEY
密钥管理协议,最初为 IPsec 开发
- PF_LAT
局域传输协议
- PF_LINK
链路层接口
- PF_LLC
逻辑链路控制 (IEEE 802.2 LLC) 协议
- PF_LOCAL
主机内部协议
- PF_MAX
此平台的最大地址族
- PF_MPLS
多协议标签交换
- PF_NATM
本机 ATM 访问
- PF_NDRV
网络驱动程序原始访问
- PF_NETBIOS
NetBIOS
- PF_NETGRAPH
Netgraph 套接字
- PF_NETLINK
内核用户界面设备
- PF_NS
XEROX NS 协议
- PF_OSI
ISO 开放系统互连协议
- PF_PACKET
直接链路层访问
- PF_PIP
帮助识别 PIP 数据包
- PF_PPP
点对点协议
- PF_PPPOX
通用 PPP 传输层,用于设置 L2 隧道 (L2TP 和 PPPoE)
- PF_PUP
PARC 通用数据包协议
- PF_RDS
可靠数据报套接字 (RDS) 协议
- PF_ROUTE
内部路由协议
- PF_RTIP
帮助识别 RTIP 数据包
- PF_SIP
简单互联网协议
- PF_SNA
IBM SNA 协议
- PF_SYSTEM
内核事件消息
- PF_TIPC
TIPC,“集群域套接字”协议
- PF_UNIX
UNIX 套接字
- PF_UNSPEC
未指定的协议,任何受支持的地址族
- PF_VSOCK
VSOCK (最初为“VMWare VSockets”) 协议,用于虚拟机管理程序-访客通信
- PF_XDP
XDP (快速数据路径) 接口
- PF_XTP
eXpress 传输协议
- SCM_BINTIME
时间戳 (bintime)
- SCM_CREDENTIALS
发送者的凭据
- SCM_CREDS
进程凭据
- SCM_RIGHTS
访问权限
- SCM_TIMESTAMP
时间戳 (timeval)
- SCM_TIMESTAMPING
时间戳(timespec 列表)(Linux 2.6.30)
- SCM_TIMESTAMPNS
Timespec (timespec)
- SCM_UCRED
用户凭据
- SCM_WIFI_STATUS
Wifi 状态 (Linux 3.3)
- SHUT_RD
关闭套接字的读取端
- SHUT_RDWR
关闭套接字的两个端
- SHUT_WR
关闭套接字的写入端
- SOCK_CLOEXEC
在新文件描述符上设置 close-on-exec (FD_CLOEXEC) 标志。
- SOCK_DGRAM
数据报套接字提供无连接、不可靠的消息传递
- SOCK_NONBLOCK
在新文件描述符引用的打开文件描述上设置 O_NONBLOCK 文件状态标志(参见 open(2))。
- SOCK_PACKET
设备级数据包访问
- SOCK_RAW
原始套接字提供低级访问,用于直接访问或实现网络协议
- SOCK_RDM
可靠的数据报套接字提供可靠的消息传递
- SOCK_SEQPACKET
顺序数据包套接字为数据报提供排序、可靠的双向连接
- SOCK_STREAM
流套接字为字节流提供排序、可靠的双向连接
- SOL_ATALK
AppleTalk 套接字选项
- SOL_AX25
AX.25 套接字选项
- SOL_IP
IP 套接字选项
- SOL_IPX
IPX 套接字选项
- SOL_SOCKET
套接字级选项
- SOL_TCP
TCP 套接字选项
- SOL_UDP
UDP 套接字选项
- SOMAXCONN
可以为套接字排队的最大连接请求数
- SOPRI_BACKGROUND
后台套接字优先级
- SOPRI_INTERACTIVE
交互式套接字优先级
- SOPRI_NORMAL
普通套接字优先级
- SO_ACCEPTCONN
套接字已在其上调用了 listen()
- SO_ACCEPTFILTER
有一个接受过滤器
- SO_ALLZONES
绕过区域边界
- SO_ATTACH_FILTER
附加接受过滤器
- SO_BINDTODEVICE
仅从给定接口发送数据包
- SO_BINTIME
接收带有数据报的时间戳 (bintime)
- SO_BPF_EXTENSIONS
查询支持的 BPF 扩展 (Linux 3.14)
- SO_BROADCAST
允许发送广播消息
- SO_BUSY_POLL
以微秒为单位设置低延迟轮询的阈值 (Linux 3.11)
- SO_CONNECT_TIME
返回套接字已连接的秒数。此选项仅对面向连接的协议有效 (Windows)
- SO_DEBUG
调试信息记录
- SO_DETACH_FILTER
分离接受过滤器
- SO_DOMAIN
为 socket() 给定的域 (Linux 2.6.32)
- SO_DONTROUTE
使用接口地址
- SO_DONTTRUNC
保留未读数据
- SO_ERROR
获取并清除错误状态
- SO_GET_FILTER
获取由
SO_ATTACH_FILTER
设置的过滤器集 (Linux 3.8)- SO_INCOMING_CPU
接收附加到套接字的 CPU (Linux 3.19)
- SO_INCOMING_NAPI_ID
接收附加到 RX 队列的 NAPI ID (Linux 4.12)
- SO_KEEPALIVE
保持连接活动
- SO_LINGER
如果存在数据,则在关闭时延迟
- SO_LOCK_FILTER
锁定附加到套接字的过滤器 (Linux 3.9)
- SO_MAC_EXEMPT
未标记对等方的强制访问控制豁免
- SO_MARK
为基于标记的路由设置标记 (Linux 2.6.25)
- SO_MAX_PACING_RATE
限制传输层计算的速率。[每秒字节数] (Linux 3.13)
- SO_NKE
安装套接字级网络内核扩展
- SO_NOFCS
设置套接字的 netns (Linux 3.4)
- SO_NOSIGPIPE
不要在 EPIPE 上发送 SIGPIPE
- SO_NO_CHECK
禁用校验和
- SO_NREAD
获取第一个数据包的字节计数
- SO_OOBINLINE
将接收到的带外数据保留在内联
- SO_PASSCRED
接收
SCM_CREDENTIALS
消息- SO_PASSSEC
切换安全上下文传递 (Linux 2.6.18)
- SO_PEEK_OFF
设置窥视偏移量 (Linux 3.4)
- SO_PEERCRED
连接到此套接字的外部进程的凭据
- SO_PEERNAME
连接用户的名称
- SO_PEERSEC
获取安全凭据 (Linux 2.6.2)
- SO_PRIORITY
此套接字上所有数据包的协议定义优先级
- SO_PROTOCOL
为 socket() 给定的协议 (Linux 2.6.32)
- SO_RCVBUF
接收缓冲区大小
- SO_RCVBUFFORCE
无 rmem_max 限制的接收缓冲区大小 (Linux 2.6.14)
- SO_RCVLOWAT
接收低水位标记
- SO_RCVTIMEO
接收超时
- SO_RECVUCRED
接收带有数据报的用户凭据
- SO_REUSEADDR
允许本地地址重用
- SO_REUSEPORT
允许本地地址和端口重用
- SO_RTABLE
为此套接字设置路由表 (OpenBSD)
- SO_RXQ_OVFL
切换已丢弃数据包数的 cmsg (Linux 2.6.33)
- SO_SECURITY_AUTHENTICATION
- SO_SECURITY_ENCRYPTION_NETWORK
- SO_SECURITY_ENCRYPTION_TRANSPORT
- SO_SELECT_ERR_QUEUE
使 select() 使用 errorfds 检测套接字错误队列 (Linux 3.10)
- SO_SETFIB
设置套接字的关联路由表 (FreeBSD)
- SO_SNDBUF
发送缓冲区大小
- SO_SNDBUFFORCE
无 wmem_max 限制的发送缓冲区大小 (Linux 2.6.14)
- SO_SNDLOWAT
发送低水位标记
- SO_SNDTIMEO
发送超时
- SO_TIMESTAMP
接收带有数据报的时间戳 (timeval)
- SO_TIMESTAMPING
传入和传出数据包的时间戳 (Linux 2.6.30)
- SO_TIMESTAMPNS
接收带有数据报的纳秒时间戳 (timespec)
- SO_TYPE
获取套接字类型
- SO_USELOOPBACK
尽可能绕过硬件
- SO_USER_COOKIE
主要为 ipfw 设置标识符
- SO_WANTMORE
当更多数据准备就绪时给出提示
- SO_WANTOOBFLAG
在接收时希望在 MSG_FLAG 中包含 OOB 数据
- SO_WIFI_STATUS
切换 wifi 状态的 cmsg (Linux 3.3)
- TCP_CONGESTION
TCP 拥塞控制算法 (Linux 2.6.13, glibc 2.6)
- TCP_CONNECTION_INFO
检索有关此套接字的信息 (macOS)
- TCP_COOKIE_TRANSACTIONS
TCP Cookie 事务 (Linux 2.6.33, glibc 2.18)
- TCP_CORK
不发送部分帧 (Linux 2.2, glibc 2.2)
- TCP_DEFER_ACCEPT
在数据准备就绪之前不通知侦听套接字 (Linux 2.4, glibc 2.2)
- TCP_FASTOPEN
减少握手过程的步骤 (Linux 3.7, glibc 2.18)
- TCP_INFO
检索有关此套接字的信息 (Linux 2.4, glibc 2.2)
- TCP_KEEPALIVE
发送保持活动探测前的空闲时间(macOS)
- TCP_KEEPCNT
在断开连接之前允许的最大保持活动探测次数(Linux 2.4,glibc 2.2)
- TCP_KEEPIDLE
发送保持活动探测前的空闲时间(Linux 2.4,glibc 2.2)
- TCP_KEEPINTVL
保持活动探测之间的时间间隔(Linux 2.4,glibc 2.2)
- TCP_LINGER2
孤立的 FIN_WAIT2 套接字的生存时间(Linux 2.4,glibc 2.2)
- TCP_MAXSEG
设置最大报文段大小
- TCP_MD5SIG
使用 MD5 摘要(RFC2385,Linux 2.6.20,glibc 2.7)
- TCP_NODELAY
不延迟发送以合并数据包
- TCP_NOOPT
不使用 TCP 选项
- TCP_NOPUSH
不推送写入的最后一个块
- TCP_QUEUE_SEQ
修复模式队列的序列(Linux 3.5,glibc 2.18)
- TCP_QUICKACK
启用 quickack 模式(Linux 2.4.4,glibc 2.3)
- TCP_REPAIR
修复模式(Linux 3.5,glibc 2.18)
- TCP_REPAIR_OPTIONS
修复模式的选项(Linux 3.5,glibc 2.18)
- TCP_REPAIR_QUEUE
修复模式的队列(Linux 3.5,glibc 2.18)
- TCP_SYNCNT
在断开连接之前重传 SYN 的次数(Linux 2.4,glibc 2.2)
- TCP_THIN_DUPACK
用于细流的重复确认处理(Linux 2.6.34,glibc 2.18)
- TCP_THIN_LINEAR_TIMEOUTS
用于细流的线性超时(Linux 2.6.34,glibc 2.18)
- TCP_TIMESTAMP
TCP 时间戳(Linux 3.9,glibc 2.18)
- TCP_USER_TIMEOUT
TCP 连接被中止前的最大超时时间(Linux 2.6.37,glibc 2.18)
- TCP_WINDOW_CLAMP
限制通告窗口的大小(Linux 2.4,glibc 2.2)
- UDP_CORK
不发送部分帧(Linux 2.5.44,glibc 2.11)