Windows 环境下的 Socket 编程 5 - 套接字的可选项
阿里云国内75折 回扣 微信号:monov8 |
阿里云国际,腾讯云国际,低至75折。AWS 93折 免费开户实名账号 代冲值 优惠多多 微信号:monov8 飞机:@monov6 |
套接字具有多种特性这些特性可以更改。
更改和读取可选项函数
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_SOCKET
、IPPROTO_IP
、IPPROTO_TCP
- optname可选项名详见
表1
- optval指向可选项信息的缓冲区
- optlen可选项信息缓冲区大小
表1套接字重点可选项名
协议层 | 选项名 |
描述
|
---|---|---|
SOL_SOCKET | SO_SNDBUF |
输出缓冲区大小
|
SO_RCVBUF |
输入缓冲区大小
| |
SO_REUSEADDR |
默认为0设置为1后可将Time-wait状态下的套接字端口号重新分配给新的套接字
| |
IPPROTO_TCP | TCP_NODELAY |
默认为0设置为1后禁止Nagle算法
|
Nagle
算法使能时只有收到前一数据的 ACK
标志后Nagle 算法才发送下一数据。