基本概念
- 设置套接字的选项对套接字进行控制
- 除了设置选项外,还可以获取选项
- 选项的概念相当于属性,所以套接字选项也可说是套接字属性
- 有些选项(属性)只可获取,不可设置
- 有些选项既可设置也可获取
选项级别
SOL_SOCKET的常用选项
IPPROTO_IP级别的常用选项
getsockopt获取套接字选项
#include <sys/types.h>
#include <sys/socket.h>
int getsockopt(int sockfd,int level, int optname, void *optval,socklen_t *optlen);
sockfd:套接字描述符
level:表示选项的级别
optname:表示要获取的选项名称
optval:指向存放接收到的选项内容的缓冲区
optlen:指向optval所指缓冲区的大小
函数返回值:
执行成功返回0,否则返回-1,errno来获取错误信息
setsockopt设置套接字选项
#include <sys/types.h>
#include <sys/socket.h>
int getsockopt(int sockfd,int level, int optname, void *optval,socklen_t optlen);
sockfd:套接字描述符
level:表示选项的级别
optname:表示要设置的选项名称
optval:指向存放接收到的选项内容的缓冲区
optlen:指向optval所指缓冲区的大小
函数返回值:
执行成功返回0,否则返回-1,errno来获取错误信息