setsockopt()函数在百度百科上的解释是:用于任意类型、任意状态套接口的设置选项值。尽管在不同协议层上存在选项,但本函数仅定义了最高的“套接口”层次上的选项。
其实意思就是对原本套接字的功能增强,如果你只调用socket()函数,只是有一般的功能,你去使用setsockopt函数有另外的一些功能,就比如玩吃鸡,你一开始的状态是没有任何武器的,你只有一双手,没有任何武器,这个时候你就需要向办法去需要寻找武器和装备,而这个setsockopt函数就可以帮你找到武器和装备。是不是很厉害。说了这么多的废话,下面我们来看看这个函数到底有哪些功能.。
头文件:#include <sys/types.h>
#include <sys/socket.h>
函数原型:int setsockopt(int sockfd, int level, int optname,const void *optval, socklen_t optlen);
参数说明:sockfd:标识一个套接口的描述字。
level:选项定义的层次;支持SOL_SOCKET、IPPROTO_TCP、IPPROTO_IP和IPPROTO_IPV6。
optname:需设置的选项。
optlen:optval缓冲区长度。
这里需要强调一下的是第三个参数,需要设置的选项,说的很模糊,一开始的时候,都不知道到底有哪些东西,就比如说玩游戏的时候,都不知道有哪些装备是可以用的,所以我在这里扫盲一下,一共支持的选项有:
SO_BROADCAST BOOL 允许套接口传送广播信息。