获取和设置套接口选项的方法有:
getsockopt/setsockopt fcntl ioctl
getsockopt/setsockopt
这两个函数仅用于套接口(socket)的设置,另外两个函数可以对任意的文件描述符进行设置。
#include<sys/socket.h> int getsockopt(int sockfd, int level, int optname, void* optval, socklen_t* optlen); int setsockopt(int sockfd, int level, int optname, const void* optval, socklen_t* optlen);
level用于指定选项类型,如普通套接口(SOL_SOCKET)、IPv4(IPPROTO_IP)、IPv6(IPPROTO_IPv6)或者TCP(IPPROTO_TCP);
optname是具体选择;optval是一个指向变量的指针,用于存储选择当前值或者传递选项新值。
套接口选项
套接口选项有两种类型:
开关 - 打开或关闭某个特性的二进制(标志,0关闭,非0打开,整型int);
属性 - 设置或检查的特定值(值,整型或结构)。
截取3类常用的选项表