下表汇总了 Windows 套接字 2 的一些套接字选项。 WSPGetSockOpt 和/或 WSPSetSockOpt下第 4 节提供了更详细的信息。 可以在 Protocol-Specific 附件中找到其他特定于协议的新套接字选项。 Winsock 参考中提供了 Windows 套接字套接字选项的完整列表。
有关一些 Winsock Ioctls 的摘要,请参阅套接字 Ioctl Opcodes 摘要。 Winsock 参考中提供了 Winsock IOCTL 的完整列表。
通用套接字选项摘要
Winsock 服务提供商必须识别所有这些选项,并且(对于 WSPGetSockOpt)为每个选项返回合理的值。 下表显示了每个选项的默认值。
价值
类型
意义
违约
注意
SO_ACCEPTCONN
BOOL
套接字正在侦听。
FALSE,除非已执行 WSPListen。
SO_BROADCAST
BOOL
套接字配置为传输和接收广播消息。
假
SO_DEBUG
BOOL
已启用调试。
假
(i)
SO_DONTLINGER
BOOL
如果为 true,则禁用SO_LINGER选项。
真
SO_DONTROUTE
BOOL
路由已禁用。 成功,但在AF_INET套接字上被忽略;在AF_INET6套接字上失败,WSAENOPROTOOPT。 ATM 套接字不支持(导致错误)。
假
(i)
SO_ERROR
int
检索错误状态并清除。
0
SO_GROUP_ID
群
保留。
零
仅获取
SO_GROUP_PRIORITY
int
保留。
0
BOOL
正在发送 Keepalives。 ATM 套接字不支持(导致错误)。
假
(i)
SO_LINGER
结构挥之不去
返回当前挥之不去的选项。
l_onoff为 0
SO_MAX_MSG_SIZE
int
消息套接字类型的消息的最大出站大小。 没有预配可确定最大入站消息大小。 对于面向流的套接字没有任何意义。
实现依赖
仅获取
SO_OOBINLINE
BOOL
OOB 数据正在正常数据流中接收。
假
SO_PROTOCOL_INFOW
绑定到此套接字的协议的协议信息的说明。
依赖协议
仅获取
SO_RCVBUF
int
为接收保留的每套接字缓冲区空间总数。 这与SO_MAX_MSG_SIZE无关,不一定对应于 TCP 接收窗口的大小。
实现依赖
(i)
SO_REUSEADDR
BOOL
此套接字绑定到的地址可供其他人使用。 不适用于 ATM 套接字。
假
SO_SNDBUF
int
为发送保留的每套接字缓冲区空间总数。 这与SO_MAX_MSG_SIZE无关,不一定对应于 TCP 发送窗口的大小。
实现依赖
(i)
SO_TYPE
int
套接字的类型(例如,SOCK_STREAM)。
通过套接字创建。
PVD_CONFIG
char FAR *
包含服务提供程序的配置信息的不透明数据结构对象。
实现依赖
TCP_NODELAY
BOOL
禁用 Nagle 算法以发送合并。
实现依赖
(i) 服务提供商可能会以无提示方式忽略 WSPSetSockOpt 上的此选项,并为 WSPGetSockOpt返回常量值,或者它可以接受 WSPSetSockOpt 的值,并在 WSPGetSockOpt 中返回相应的值,而不以任何方式使用该值。
相关主题