初见

高级C与网络编程复习(7)—— 套接字选项(Socket Opt

2020-05-17  本文已影响0人  SunnyQjm

获取和设置影响套接字的三种方式

getsockopt 和 setsockopt 函数

这两个函数仅用于套接字

#include <sys/socket.h>

/**
* 获取一个打开的套接字的选项
*
* @param sockfd      必须指向一个打开的套接字描述符
* @param level       级别
* @param optname     选项名
* @param optval      指向一个变量的指针,用于接收函数的结果,其长度由最后一个长度限定
* @param optlen      这是一个Value-Result参数,传入时限定optval的最大长度,防止缓存溢出
*                    函数执行结束时,可以通过这个参数知道内核究竟往optval写了多少数据
* @return 成返回0,出错返回-1
*/
int getsockopt(int sockfd, int level, itn optname, void *optval,
               socklen_t *optlen);

/**
* 设置一个打开的套接字的选项
*
* @param sockfd      必须指向一个打开的套接字描述符
* @param level       级别
* @param optname     选项名
* @param optval      指向一个变量的指针,用于向函数传递要设置的值,其长度由最后一个长度限定
* @param optlen      指示了optval的长度
* @return 成返回0,出错返回-1
*/
int setsockopt(int sockfd, int level, int optname, const void *optval,
               socklen_t optlen);

IPv4 套接字选项

下面几个选项的等级(level)均为 IPROTO_IP

上一篇 下一篇

猜你喜欢

热点阅读