setsockopt / getsockopt 套接字选项
套接字选项通过调用 setsockopt 函数和 getsockopt 函数进行操作。
1. setsockopt
通过调用 setsockopt 函数来设置不同选项等级的不同选项,参数 optval 是一个指向变量的指针类型,根据不同的选项,类型也不同。套接字选项如下表 所示。
#include <sys/socket.h>
int setsockopt(int s, int level, int optname, const void *optval, socklen_t optlen);
函数 setsockopt 原型分析:
此函数成功时返回 0,失败时返回-1 并设置错误号;
- 参数 s 是套接字(socket 函数返回);
- 参数 level 是选项等级如表 1 所示;
- 参数 optname 是选项名如表 1 所示;
- 参数 optval 是选项值;
- 参数 optlen 是选项长度。
2. getsockopt
调用 getsockopt 函数可以获得套接字的选项值,参数 optlen 将返回选项值的实际长度。
#include <sys/socket.h>
int getsockopt(int s, int level, int optname, void *optval, socklen_t *optlen);
函数 getsockopt 原型分析:
此函数成功返回 0,失败返回-1 并设置错误号;
- 参数 s 是套接字(socket 函数返回);
- 参数 level 是选项等级,套接字选项如下表 所示。
- 参数 optname 是选项名,套接字选项如下表 所示。
- 输出参数 optval 返回选项值;
- 参数 optlen 是选项长度。
3. 套接字选项列表