Windows 环境下的 Socket 编程 5 - 套接字的可选项

Posted 研究是为了理解

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Windows 环境下的 Socket 编程 5 - 套接字的可选项相关的知识,希望对你有一定的参考价值。

套接字具有多种特性,这些特性可以更改。

更改和读取可选项函数

int getsockopt(SOCKET sock, int level, int optname, char * optval, int *optlen);
int setsockopt(SOCKET sock, int level, int optname, const char * optval, int *optlen);
  • sock:套接字句柄
  • level:协议层,常见有 SOL_SOCKETIPPROTO_IPIPPROTO_TCP
  • optname:可选项名,详见 表1
  • optval:指向可选项信息的缓冲区
  • optlen:可选项信息缓冲区大小

表1:套接字重点可选项名

协议层选项名 描述
SOL_SOCKETSO_SNDBUF 输出缓冲区大小
SO_RCVBUF 输入缓冲区大小
SO_REUSEADDR 默认为0,设置为1后可将Time-wait状态下的套接字端口号重新分配给新的套接字
IPPROTO_TCPTCP_NODELAY 默认为0,设置为1后禁止Nagle算法

Nagle 算法使能时,只有收到前一数据的 ACK 标志后,Nagle 算法才发送下一数据。

以上是关于Windows 环境下的 Socket 编程 5 - 套接字的可选项的主要内容,如果未能解决你的问题,请参考以下文章

Windows 环境下的 Socket 编程 2 - 地址族与数据序列

Windows 环境下的 Socket 编程 2 - 地址族与数据序列

Windows 环境下的 Socket 编程 2 - 地址族与数据序列

Windows 环境下的 Socket 编程 1 - 环境搭建和 Socket 相关函数

Windows 环境下的 Socket 编程 1 - 环境搭建和 Socket 相关函数

Windows 环境下的 Socket 编程 1 - 环境搭建和 Socket 相关函数