【读书笔记】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:需设置的选项。
optval: 指针,指向存放选项值的 缓冲区
optlen:optval 缓冲区长度。
linux 内核中定义为:
static int  setsockopt(struct  socket *sock,
int lvl, int opt, char __user *ov, unsigned int ol);
setsockopt- set socketoption
@sock: socketstructure
@lvl: option level
@opt: option identifie
@ov: pointer to new option value
@ol: length of option value
For stream sockets only, accepts and ignores all IPPROTO_TCP options  (to ease compatibility). Returns 0 on success, errno otherwise

编辑本段注释

setsockopt() 函数用于任意类型、任意状态 套接口的设置选项值。尽管在不同协议层上存在选项,但本 函数仅定义了最高的“ 套接口”层次上的选项。选项影响 套接口的操作,诸如加急数据是否在普通数据流中接收,广播数据是否可以从套接口发送等等。
有两种 套接口的选项:一种是布尔型选项,允许或禁止一种特性;另一种是整形或结构选项。允许一个布尔型选项,则将optval指向非零整形数;禁止一个选项optval指向一个等于零的整形数。对于布尔型选项,optlen应等于sizeof(int);对其他选项,optval指向包含所需选项的整形数或结构,而optlen则为整形数或结构的长度。SO_LINGER选项用于控制下述情况的行动: 套接口上有排队的待发送数据,且 closesocket()调用已执行。参见close socket() 函数中关于SO_LINGER选项对 closesocket()语义的影响。

转载于:https://www.cnblogs.com/cappuccino/p/3188258.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值