int setsockopt( int s,
int level,//设置的网络层协议
int optname, //设置的网络层控制协议
const void * optval,
socklen_t optlen );
level协议层设置成: SOL_SOCKET(通用套接字选项)
选项名称 说明 数据类型
SO_BROADCAST 允许发送广播数据 int
SO_DEBUG 允许调试 int
SO_DONETROUTE 不查找路由 int
SO_ERROR 获得套接字错误 int
SO_KEEPALIVE 保持连接 int
SO_LINGER 延迟关闭连接 struct linger
SO_OOBINLINE 带外数据放入正常数据流 int
SO_RCVBUF 接受缓冲区大小 int
SO_SNDBUF 发送缓冲区大小 int
SO_RCVLOWAT 接受缓冲区下限 int
SO_SNDLOWAT 发送缓冲区下限 int
SO_RCVTIMEO 接受超时 struct timeval
SO_SNDTIMEO 发送超时 struct timeval
SO_REUSEADDR 允许重用本地地址和端口 int
SO_TYPE 获得套接字类型 int
SO_BSDCOMPAT 与BSD系统兼容 int
level协议层设置成:IPPROTO_IP(IP选项)
IP_HDRINCL 在数据包中包含IP首部 int
IP_OPTIONS IP首部选项 int
IP_TOS 服务类型
IP_TTL 生存时间 int
level协议层设置成: IPPRO_TCP(TCP选项)
TCP_MAXSEG TCP最大数据段的大小 int
TCP_NODELAY 不使用Nagle算法 int
===================================================================
参考:https://blog.csdn.net/c1520006273/article/details/50420408