引言
套接字与文件描述符一样,都拥有很多特性,那么本篇笔记主要记录一些套接字的属性以及设置。
套接字的属性
名称 | 属性 |
---|---|
SO_BROADCAST | 允许发送广播数据 |
SO_DEBUG | 允许调试 |
SO_DONTROUTE | 不查找路由 |
SO_ERROR | 获得套接字错误 |
SO_KEEPALIVE | 保持连接 |
SO_LINGER | 延迟关闭连接 |
SO_OOBINLINE | 带外数据放入正常数据流 |
SO_RCVBUF | 接收缓冲区大小 |
SO_SNDBUF | 发送缓冲区大小 |
SO_RCVLOWAT | 接收缓冲区下限 |
SO_SNDLOWAT | 发送缓冲区下限 |
SO_RCVTIMEO | 接受超时 |
SO_SNDTIMEO | 发送超时 |
SO_REUSERADDR | 允许重用本地地址和端口 |
SO_TYPE | 获得套接字类型 |
SO_BSDCOMPAT | 与BSD系统兼容 |
代码展示socket默认状态
设置socket属性
int setsockopt(int sockfd, int level, int optname,
const void *optval, socklen_t optlen);